使用 ShellExecute 函数来打开文件所在的文件夹并选中该文件。
时间: 2023-12-14 13:39:07 浏览: 125
可以使用 ShellExecute 函数的参数来实现这个功能。具体实现步骤如下:
1. 获取文件所在的文件夹路径,可以使用 PathFindFileName 函数和 PathRemoveFileSpec 函数来实现。
2. 使用 ShellExecute 函数来打开文件夹并选中文件。
下面是实现的代码:
```c++
#include <Windows.h>
#include <Shlwapi.h>
#pragma comment(lib, "Shlwapi.lib")
int main()
{
TCHAR szFilePath[MAX_PATH] = TEXT("C:\\test.txt");
// 获取文件所在的文件夹路径
TCHAR szFolderPath[MAX_PATH];
_tcscpy_s(szFolderPath, szFilePath);
PathRemoveFileSpec(szFolderPath);
// 打开文件夹并选中文件
SHELLEXECUTEINFO sei = { 0 };
sei.cbSize = sizeof(SHELLEXECUTEINFO);
sei.fMask = SEE_MASK_INVOKEIDLIST;
sei.lpVerb = TEXT("open");
sei.lpFile = szFolderPath;
sei.lpParameters = TEXT("/select,");
sei.lpParameters += _tcslen(szFolderPath);
_tcscat_s(sei.lpParameters, MAX_PATH, TEXT("\\"));
_tcscat_s(sei.lpParameters, MAX_PATH, PathFindFileName(szFilePath));
sei.nShow = SW_SHOW;
ShellExecuteEx(&sei);
return 0;
}
```
其中,SEE_MASK_INVOKEIDLIST 参数用来打开文件夹并选中文件,lpParameters 参数用来指定选中的文件名。
阅读全文