说明使用 OpenProcess
的权限不够,但是哪个权限呢?查阅文档发现是 SYNCHRONIZE
。
SYNCHRONIZE (0x00100000L): 使用对象的同步机制的权限。该权限允许线程等待该对象,直到对象处于触发状态。
有关等待对象的知识,见《Windows 核心编程》,这里不再赘述。
参考代码:
HANDLE hProcess = OpenProcess(SYNCHRONIZE, FALSE, dwProcessId);
WaitForSingleObject(hProcess, INFINITY);
CloseHandle(hProcess);
论坛上有人明确提过这个问题,4 楼给出了正确解答(其他楼的解决方案都是在乱说),但是直接使用 PROCESS_ALL_ACCESS
是不妥的。应当使用本文的 SYNCHRONIZE
,遵循需要什么申请什么的原则。
参考文档:Process Security and Access Rights。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)