WIN32打开一个文件夹

时间:2017-03-06 16:12:47

标签: c++ winapi

我想从我的代码中打开一个文件夹。我以前写过一个完成这项工作的视觉基础程序。现在我试图用C ++和WIN32做这个,没有运气。文件夹包含服务器的地址。我尝试了CreateProcess和ShellExecute,他们都无法打开服务器中的文件夹。能帮忙吗?

我试过的第一种方法

ShellExecute(NULL, "explore", "\\ftpg.tb.ch\\locations", NULL, NULL, SW_SHOWNORMAL);

我试过的第二种方法

STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
LPTSTR szCmdline = _tcsdup(TEXT("C:\\Windows\\explorer.exe"));
LPTSTR pathfolder = _tcsdup(TEXT(" /e,/root,\\ftpg.tb.ch\\locations"));
CreateProcess( szCmdline, pathfolder, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi );

这是以前工作的Visual Studio VB代码

Dim testst As String = "\\ftpg.tb.ch\locations"
Process.Start("explorer.exe", testst)

1 个答案:

答案 0 :(得分:3)

您对VB的翻译错误,无法正确转义反斜杠字符。而不是

"\\ftpg.tb.ch\\locations"

你必须写

"\\\\ftpg.tb.ch\\locations"

顺便说一句,请使用ShellExecuteEx而不是ShellExecute。前者提供了正确的错误处理,后者没有。