如何使用winapi等待非子进程?

use*_*536 1 c++ winapi process

我读:

代码段:

HANDLE  hProcess = OpenProcess(SYNCHRONIZE, TRUE, inProcessID); 

if (NULL == hProcess)
{
    WaitForSingleObject(hProcess,INFINITE);
}
Run Code Online (Sandbox Code Playgroud)

我试过WaitForSingleObjectWaitForSingleObjectEx,既没有实际的等待.

例如,假设记事本正在运行,我想等待一些用户关闭它.我该怎么办 ?

小智 5

从以下文档OpenProcess:

如果函数成功,则返回值是指定进程的打开句柄.

如果函数失败,则返回值为NULL.要获取扩展错误信息,请调用GetLastError.

所以你的if语句应该是:

if (NULL != hProcess) ...
Run Code Online (Sandbox Code Playgroud)