gpt4 book ai didi

c++ - 从 ShellExecute 获取 PID

转载 作者:可可西里 更新时间:2023-11-01 09:35:25 25 4
gpt4 key购买 nike

我正在从 ShellExecuteEx 启动一个进程,我确实需要获取 ProcessID(这是此类要求的一部分)。

不知何故,所有重要的 SHELLEXECUTEINFO 都返回 null。因此,例如,如果我使用此代码:

exInfo.lpVerb = "open";
exInfo.lpFile = "C:\\Windows\\system32\\cmd.exe";
exInfo.nShow = 5;

ShellExecuteExA(exInfo);

它启动了 CMD.exe。但现在我需要得到它的 PID。 exInfo.hwnd 返回 0exInfo.hProcess 返回 null。这是正常行为吗?

我真的不想使用 CreateProcess(),因为我的函数还应该能够启动像“C:\doc1.docx”这样的文档。这只是一种方法,我无法预测将要启动什么(所以我无法事先知道窗口标题/类名,从那里获取 hWnd,然后获取 PID)。

有人可以指出我的错误吗?谢谢。

最佳答案

您需要在 exInfo.fMask 中设置一个标志(SEE_MASK_NOCLOSEPROCESS)

关于c++ - 从 ShellExecute 获取 PID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7620322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com