2

問題に遭遇したとき、私はこの型記録プログラムを書いていました - Altkey は Ascii 番号を持っていないので、通常の方法でそれをフックすることはできません。これは私のソース コードAltですAlt。「Alt」という名前のクラス変数と「IsAlt」という名前の組み込み関数があることは知っていますが、それらの使用方法がわかりませんでした。

import pythoncom,pyHook

log = ""
logpath = "log.txt"

openfile = open(logpath,"w")
openfile.write("")

def OnKeyboardEvent(event):
    try:
        global log
        if event.Ascii == 8:
            log = "[BS]"
        elif event.Ascii == 9:
            log = "[TAB]"
        elif event.Ascii == 13:
            log = "[NL]"
        elif event.Ascii == 27:
            log = "[ESC]"
        elif event.Ascii == 15:
            openfile.close()
            exit()
        else:
            log = chr(event.Ascii)
        openfile.write(log)
    except:
        pass

hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()
4

1 に答える 1

0

キーをマッピングするときにevent.Asciiを使用する代わりに、event.KeyIDを使用します。

AltGrのようなキーには 2 つのマッピング ID があることに注意してください。1 つは押されたキー用で、もう 1 つは離されたキー用です。

于 2016-10-01T20:44:01.327 に答える