9

如何通过 C++ 中的代码在资源管理器中打开路径。我用谷歌搜索,除了系统命令之外找不到任何东西,但是,我不希望它阻止或显示控制台窗口。

4

3 回答 3

24

您可能正在寻找ShellExecute(). shellapi.h它使用“动作动词”、路径和可选参数调用。在您的情况下,这将需要“打开”或“探索”,如下所示:

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)
于 2008-12-10T02:18:38.347 回答
2

这不显示命令窗口,只是打开目录。


system("explorer C:\\");

于 2008-12-10T02:15:20.663 回答
0

我现在正在使用 VS2017,使用如下工作:

ShellExecute(NULL, L"open", L"YourFolderPath\\YourFile.xxx", NULL, NULL, SW_RESTORE);

还参考ShellExecute 在 C++ 中打开一个 .exe

于 2021-05-19T14:47:27.917 回答