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