我想从我的代码中打开一个文件夹。我以前编写了一个可以完成此工作的可视化基本程序。现在,我正在尝试使用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)

最佳答案

您从VB进行的翻译是错误的,不能正确地转义您的反斜杠字符。代替

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


你必须写

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


另外,请使用ShellExecuteEx而不是ShellExecute。前者提供适当的错误处理,而后者则没有。

关于c++ - WIN32打开文件夹,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42630363/

10-11 22:47
查看更多