如何在C++中通过代码打开资源管理器路径。我搜索了谷歌,但是没有找到系统命令以外的方法,然而,我不想让它阻塞或显示控制台窗口。
你可能正在寻找 shellapi.h
中的 ShellExecute()
函数。它需要一个“操作动词”、一个路径和可选参数。在你的情况下,应该使用以下其中之一:"open" 或 "explore":
ShellExecuteA(NULL, "open", "C:\\", NULL, NULL, SW_SHOWDEFAULT);
这将在C:处打开一个未附加的资源管理器窗口。ShellExecute()将提供与在运行对话框中键入命令基本相同的操作。它还可以处理URL,因此以下内容将打开用户的默认浏览器:
ShellExecuteA(NULL, "open", "http://www.google.com", NULL, NULL, SW_SHOWDEFAULT);
虽然请确保注意文档中的注释,ShellExecute 依赖于 COM(尽管您的代码本身不必担心任何 COM 对象)。
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)
这不会显示命令窗口,只是打开目录。
system("explorer C:\\");
我现在正在使用VS2017,以下方式可行:
ShellExecute(NULL, L"open", L"YourFolderPath\\YourFile.xxx", NULL, NULL, SW_RESTORE);
同时还可以参考C++中使用ShellExecute打开.exe文件