Как я могу проверить, нажимается ли более одной клавиши одновременно? - PullRequest
0 голосов
/ 01 июля 2010

Я создаю кейлоггер для мониторинга моего ПК, и я хочу иметь комбинацию клавиш, которая отключает кейлоггер или включает интерфейс пользователя, пока не уверен.Но проблема в том, что я не могу понять, как проверить, нажимаются ли две или три кнопки одновременно?Как я могу это сделать ?Вот мой источник до сих пор: http://paste.pocoo.org/show/232233/

Ответы [ 2 ]

1 голос
/ 01 июля 2010

Вы должны иметь возможность получить событие keyup / keydown, а не событие нажатия клавиши.

Тогда все, что вам нужно сделать, это сохранить список кнопок, которые не работают, и удалить кнопку при вызове keyup.

0 голосов
/ 05 сентября 2011

Используйте GetKeyState, чтобы увидеть, нажата ли другая клавиша.Попробуйте выйти, когда нажата ctrl-shift-q:

import win32con

def OnKeyboardEvent(event):
    if event.Ascii == 81 and
        win32api.GetKeyState(win32con.VK_CONTROL) & 0x8000 and
        win32api.GetKeyState(win32con.VK_SHIFT) & 0x8000:
        LogFile.close()
        exit()
    LogFile.write(str(event.Key))

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