MFC中关于如何定位文件的功能

我现在想做一个菜单,它的功能就跟很多软件一样的那种,就是“定位到文件位置”已知文件的全路径位置,我想打开文件所在文件夹,然后焦点放在这个文件上?有哪位能指教下不?

BOOL OpenFolderAndSelectFile( TCHAR* szPath )
{
LPSHELLFOLDER pDesktopFolder;
if ( SUCCEEDED(SHGetDesktopFolder( &pDesktopFolder)))
{
LPITEMIDLIST pidl;
ULONG chEaten;
ULONG dwAttributes;
HRESULT hr;

hr = pDesktopFolder->ParseDisplayName(
NULL, NULL, szPath, &chEaten, &pidl, &dwAttributes);
if (FAILED(hr))
{
pDesktopFolder->Release();
return FALSE;
}
LPCITEMIDLIST pidlFolder = pidl;

CoInitialize( NULL);
hr = SHOpenFolderAndSelectItems( pidl, 0, NULL, 0);

pDesktopFolder->Release();

if ( hr == S_OK)
{
return TRUE;
}
}
return FALSE;
}

大概意思就是调用 SHOpenFolderAndSelectItems 这个函数,然后就是路径与PIDL之间的转换,还可以实现多个文件的定位.这个代码比较乱,临时瞎凑出来的,得修改。(代码在MFC + UNICODE 上通过)
温馨提示:内容为网友见解,仅供参考
无其他回答

MFC中关于如何定位文件的功能
大概意思就是调用 SHOpenFolderAndSelectItems 这个函数,然后就是路径与PIDL之间的转换,还可以实现多个文件的定位.这个代码比较乱,临时瞎凑出来的,得修改。(代码在MFC + UNICODE 上通过)

MFC有没有文件夹操作的类
GetFileURL获取找到文件的URL,包括文件路径 GetRoot获取找到文件根目录 GetCreationTime获取文件创建时间 GetLastAccessTime获取文件最后一次打开的时间 GetLastWriteTime文件最后改变和存储的时间 MatchesMask指定要找的文件的属性 IsDots查看文件名是否是包含"."或"..",以表明它的确是一个目录 IsReadOnly文件是否...

mfc中用cfile怎样从头到尾读取文件
使用CFile::SeekToBegin()定位到文件头开始读。然后读取得到的文件长度的字节数或者判断到了文件末尾,就OK了。

mfc中如何将一个窗口相对于另一个窗口定位
例如还有:setwindowpos同样可以实现窗口的定位..

MFC:已知ID如何定位控件(急用,解决加100)
CWnd* pWnd = GetDlgItem(xxxx);pWnd即是ID对应的指针。补充:如果是开发的时候,可以在资源视图按下CTRL+F,输入你的ID,然后按回车,直接定位你的ID。

CFile::Read()怎么用,MFC中。。。
CFile::Open成功打开文件后,使用 GetLength 获取文件的长度,nFileLen;然后 new 一块内存。char*lpBuf = new char[nFileLen];再使用 Read( lpBuf, nFileLen);文件的数据就装入到 lpBuf指向的内存块了。Read是从当前游标开始读取,默认是文件起始,可以使用 Seek\/ SeekToBegin \/ SeekToEnd 来定位。“...

MFC里的文本编辑框,怎么把光标始终定位到字符串最后???
CSize sz=dc.GetTextExtent(m_strLine);\/\/下面设置光标跟在字的后面 CPoint pt;pt.x=m_ptOrigin.x+sz.cx;pt.y=m_ptOrigin.y;SetCaretPos(pt);这里m_strLine是你已经输出的文字,用GetTextExtent()函数(它是CDC的函数)得到文字的长度sz(定义为CSize类型),然后用SetCaretPos()函数(它...

MFC 怎么将RichEdit中的光标定位在指定的行和列
俺没有好的办法 只会循环定位行数个数的"\\n"的位置n_index,然后再加上列数i 然后再 GetRichEditCtrl().SetSel(n_index+i,n_index+i);

MFC如何定位到树节点并取得其父节点值
取得父节点的值 GetParentItem 取得节点内容 GetItemText 定位到父节点 SetSelectItem Expand EnsureVisbale

用mfc改窗体时 无法定位程序输入点于动态链接库
MFC程序的文档类中定义了一个虚函数SetTitle,用于设置窗口标题的前半部分,如果只是要修改“无标题”部分,可以重载文档类的该函数。窗口标题的后半部分可以通过SetWindowText设置,也可以编辑字符串资源中的IDR_MAINFRAME字符串,将第一个\/n之前的字符串替换掉即可,而如果你想把“无标题”部分除掉,则...

相似回答