在Explorer中打开

Lod*_*dle 8 c++ windows explorer

如何通过c ++中的代码在资源管理器中打开路径.我google了,找不到任何东西,但系统命令来做到这一点,但是,我不希望它阻止或显示控制台窗口.

小智 19

您可能正在shell32.h 中寻找ShellExecute()函数.它通过"动作动词",路径和可选参数调用.在您的情况下,这将需要"打开"或"探索"如下:

ShellExecute(NULL, "open", "C:\", NULL, NULL, SW_SHOWDEFAULT);
Run Code Online (Sandbox Code Playgroud)

这将在C:打开一个独立的浏览器窗口.ShellExecute()将提供与在"运行"对话框中键入命令基本相同的操作.它还将处理URL,因此以下将打开用户的默认浏览器:

ShellExecute(NULL, "open", "http://www.google.com", NULL, NULL, SW_SHOWDEFAULT);
Run Code Online (Sandbox Code Playgroud)

虽然请务必注意ShellExecute依赖于COM的文档中的注释(尽管您的代码不必担心任何COM对象本身).

CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)
Run Code Online (Sandbox Code Playgroud)

  • 然后使用ShellExecuteA (3认同)