【发布时间】:2011-12-17 09:06:07
【问题描述】:
所以,我正在尝试使用 pywin32 模块在 python 中编写一个简单的时间跟踪器。它在大多数情况下都可以正常工作,但在某些情况下会显示以下错误之一:
(5, 'OpenProcess', 'Access is Denied.')
(87, 'OpenProcess', 'The Parameter is incorrect.)'
这些问题通常发生在最小化窗口或运行游戏等全屏应用程序时。
以管理员身份运行脚本没有帮助。这就是我正在尝试的方式:
windowName = win32gui.GetForegroundWindow()
t, p = win32process.GetWindowThreadProcessId(windowName)
handle = win32api.OpenProcess(0x0410, False, p)
windowPath = win32process.GetModuleFileNameEx(handle, 0)
有什么办法解决这个问题?
【问题讨论】:
-
您确定返回的
windowName, t, p正确吗?检查 GetForegroundWindow 是否不返回 None。 -
(87, 'OpenProcess', 'The parameter is wrong.)' 错误是由 windowName 为 0 引起的。但是,另一个错误仍然存在。仅当我运行全屏游戏时才会出现这种情况。