我想用这个函数打开一个文件夹,然后定位到某一个我想打开的文件(焦点在那个文件上)。
不知道我表述清楚没有,希望有知道的高手门给我一个例子。先谢谢了!
不知道我表述清楚没有,希望有知道的高手门给我一个例子。先谢谢了!
解决方案 »
- 我是个Visual C++的菜鸟,有道简单的题不知道错哪了,拜师啊!
- 有关mysql数据库的问题,望高手解答~
- 谁能解释一下API PringDlg(LPPRINGDLG)到底做了些什么
- 如何在 DLL 中创建 线程 ??????????????
- 大虾,请帮帮小弟!关于CTreeCtrl派生的问题
- 关于 struct in_addr!!!!
- 我在CTreeView中加入了上下文菜单,但为什么要双击菜单才出现??
- 我自己用ATL做了一个简单的COM组件,我想在MFC程序里调用它,具体应该怎么实现?
- 怎么定义位变量进行位操作?
- 怎样将一个结构体变量的内容放进注册表里面?
- 给三角形填充颜色
- 求助:FindConnectionPoint DIID_HTMLDocumentEvents2 总为空
ShellExecute(NULL, "open",strFilePath, NULL, NULL, SW_SHOWNORMAL);请问有哪位知道吗?
我要打开文件夹聚焦文件,不打开文件。
这个
我以前的代码能满足你要求char *param = "/select,E:\\苍井空.avi";
ShellExecute(NULL,"open","explorer.exe","/select,path","",SW_SHOWNORMAL);给我分吧 楼主
ShellExecute(NULL,"open","explorer.exe", param,SW_SHOWNORMAL);
void OpenAndSelectFilePath(TCHAR* szFilePath)
{
LPITEMIDLIST pid_folder;
LPITEMIDLIST pid_file;
ULONG uchEaten;
ULONG dwAttr;
LPSHELLFOLDER pDesktopFolder;
HRESULT hr;
TCHAR szFolder[MAX_PATH];
int len = _tcslen(szFilePath);
//目录名...
for(int i = len - 1 ; i >= 0 ; i --)
{
if(szFilePath[i] == _T('\\'))
{
_tcsncpy(szFolder,szFilePath,i + 1);
szFolder[i + 1] = _T('\0');
break;
}
}
hr = CoInitialize(NULL);
//得到PID
if(SUCCEEDED(::SHGetDesktopFolder(&pDesktopFolder)))
{
hr = pDesktopFolder->ParseDisplayName(NULL,NULL,szFolder,&uchEaten,&pid_folder,&dwAttr);
if(FAILED(hr))
{
pDesktopFolder->Release();
return;
}
hr = pDesktopFolder->ParseDisplayName(NULL,NULL,szFilePath,&uchEaten,&pid_file,&dwAttr);
if(FAILED(hr))
{
pDesktopFolder->Release();
return;
}
}
LPITEMIDLIST pid1 = pid_folder;
LPCITEMIDLIST cpid = pid_file;
hr = SHOpenFolderAndSelectItems(pid1,1,&cpid,0);
pDesktopFolder->Release();
}