MFC 指定文件路径打开文件夹 定位到文件
时间: 2023-08-06 18:02:52 浏览: 170
可以使用 ShellExecute 函数来实现在 Windows 资源管理器中打开指定文件路径并且定位到文件的功能。
下面是示例代码:
```c++
void OpenFolderAndSelectFile(const CString& filePath)
{
// 将文件路径转换成 LPCWSTR 类型
LPCWSTR lpFilePath = static_cast<LPCWSTR>(filePath);
// 获取文件路径所在的文件夹路径
CString folderPath = filePath.Left(filePath.ReverseFind('\\'));
// 将文件夹路径转换成 LPCWSTR 类型
LPCWSTR lpFolderPath = static_cast<LPCWSTR>(folderPath);
// 使用 ShellExecute 函数打开文件夹并且选中文件
ShellExecute(NULL, L"open", L"explorer.exe", lpFolderPath, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, L"open", L"explorer.exe", lpFilePath, NULL, SW_SHOWNORMAL);
}
```
上述代码中,首先将文件路径转换成 LPCWSTR 类型,然后通过 ReverseFind 函数获取文件路径所在的文件夹路径,再将文件夹路径转换成 LPCWSTR 类型。最后使用 ShellExecute 函数打开文件夹并且选中文件。
调用代码示例:
```c++
CString filePath = L"C:\\Users\\UserName\\Desktop\\test.txt";
OpenFolderAndSelectFile(filePath);
```
上述代码将打开名为 `test.txt` 的文件所在的文件夹,并且选中该文件。
阅读全文