Ich bin neu in Python und beschlossen, einen Keylogger (für Lernzwecke) zu bauen, ist die Idee dieses Programms, den Ascii Wert von Tastenanschlägen zu nehmen und die entsprechenden auszudrucken Charakter, ich bekomme nicht die richtigen Ascii-Werte von meinen Tastenanschlägen. Zum Beispiel sollte nach der Tabelle Ascii das Zeichen 'a' einen Ascii-Wert von 97 haben, aber mein Programm spuckt es mit einem Wert von 1 aus (was zufällig seine Position im Alphabet ist).Python - Ascii Werte für Tastatur Zeichen sind nicht korrekt
Mein Programm:
import pythoncom
import pyHook
def key_event(event):
if int(event.Ascii) != 0:
keylog = chr(event.Ascii)
if int(event.Ascii) == 13:
keylog = '\n'
print(keylog)
return True
hm = pyHook.HookManager()
hm.KeyDown = key_event
hm.HookKeyboard()
pythoncom.PumpMessages()
Meine IDE ist PyCharm und es gibt mir gelegentlich diesen Fehler in Bezug auf hm.HookKeyboard(): http://imgur.com/ZgomMSf
Und diese Benachrichtigung über pythoncom.PumpMessages(): http://imgur.com/h7lECAf
Ich weiß nicht, ob diese Fehler mit meinem Problem zu tun haben, also dachte ich einfach, ich würde sie werfen.
Für den Debug-Zweck - vor der Zeile keylog = ... fügen Sie hinzu: "print event.Ascii", um zu sehen, welchen Wert Sie von dem Ereignis erhalten. – Yaron
Ich bekomme die gleiche Ausgabe, dies ändert nicht die Ergebnisse – kyldu
welche Werte erhalten Sie von "print event.Ascii"? – Yaron