Python pywin32 Доступ запрещен - PullRequest
       11

Python pywin32 Доступ запрещен

2 голосов
/ 17 декабря 2011

Итак, я пытаюсь написать простой трекер времени на python с использованием модуля pywin32. В большинстве случаев работает нормально, но в некоторых случаях выдает одну из следующих ошибок:

(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)

Есть ли способ это исправить?

1 Ответ

1 голос
/ 19 декабря 2011

Прежде всего, вам нужны разрешения 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

Если это не помогло, попробуйте добавить разрешение Debug, используя SeDebugPrivilege для вашего процесса, и вместе с ними он должен открыть любой процесс, который вы хотите. Проверьте эти ссылки для получения дополнительной информации:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...