0

当我的程序发生某些事情时,我有一个需要由 cmd.exe 运行的命令。假设命令是“calc.exe”。当我使用 ShellExecute 时:

HWND win = GetActiveWindow();
ShellExecute(win,L"open",L"calc.exe",L"",L"", SW_SHOWNORMAL );

calc.exe 进程从会话 0 开始,所以我看不到它。有没有办法将它设置为在活动用户窗口中启动?我不想使用 CreateProcess,因为我一直有权限问题

谢谢

4

1 回答 1

0

ShellExecute不能。不能在另一个会话中运行程序。您将需要使用CreateProcessAsUser. 这里有很多问题讨论如何做到这一点。

于 2012-12-05T11:40:45.940 回答