所以,我试图用Python编写一个简单的时间跟踪器pywin32模块。 大部分时间都能正常工作,但是在某些情况下,它会显示以下错误之一:
(5, 'OpenProcess', 'Access is Denied.') (87, 'OpenProcess', 'The Parameter is incorrect.)'
当最小化窗口或运行诸如游戏的全屏应用程序时,通常会出现问题。
以pipe理员身份运行脚本不会有帮助。 这就是我试图做到这一点:
windowName = win32gui.GetForegroundWindow() t, p = win32process.GetWindowThreadProcessId(windowName) handle = win32api.OpenProcess(0x0410, False, p) windowPath = win32process.GetModuleFileNameEx(handle, 0)
有任何解决这个问题的方法吗?
首先你需要0x0410权限(PROCESS_VM_READ + PROCESS_QUERY_INFORMATION)? 也许获得PROCESS_QUERY_INFORMATION或PROCESS_QUERY_LIMITED_INFORMATION足够满足您的需求? 检查此MSDN页面的权限说明http://msdn.microsoft.com/en-us/library/windows/desktop/ms684880(v=vs.85).aspx
如果这仍然失败,您可以尝试使用SeDebugPrivilege为您的进程添加调试权限,并与他们应该打开你想要的任何进程。 查看这些链接了解更多信息: