Seite 1 von 1
Tastatureinschlagüberwachung
Verfasst: 27.02.2005 20:35
von Rubiko
nein, kein keylogger....
aufjedenfall will ich jeden tastatureinschlag der auf meinen pc gemacht wird aufnehmen, um ihn am ende auszugeben wieviele ich gemacht hab
es soll kein großes program sein , ohne grafisches design
Code: Alles auswählen
InitKeyboard()
Einschlaege.l
Einschlaege = 0
Repeat
ExamineKeyboard()
If KeyboardPushed(#PB_Key_All)
Einschlaege = Einschlaege + 1
EndIf
If KeyboardPushed(#PB_Key_Insert)
MessageRequester("lol",Str(Eingaben), 0)
EndIf
Until KeyboardPushed(#PB_Key_Escape)
irgendwas muss daran falsch sein, den debugger hab ich auch benutzt, und bei examinekeyboard() is schluss
P.S. schonwieder sone blöde post von mir...
Verfasst: 27.02.2005 20:43
von Leo
Die ganzen Keyboard Funktionen funktionieren nur mit OpenScreen() oder OpenWindowedScreen()...
Kleines Beispiel:
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenScreen(800,600,32,"Test")
Einschlaege.l = 0
Repeat
ClearScreen(0,0,0)
ExamineKeyboard()
StartDrawing(ScreenOutput())
DrawingMode(1)
FrontColor(255,255,255)
DrawText("Hau auf die Tasten >_>")
Locate(0,15)
DrawText("Einschläge bis jetzt: "+Str(Einschlaege))
StopDrawing()
If KeyboardReleased(#PB_Key_All)
Einschlaege = Einschlaege + 1
EndIf
FlipBuffers()
Until KeyboardPushed(1)
CloseScreen()
MessageRequester("lol","Du hast "+Str(Einschlaege)+" Einschläge!!")
End
Verfasst: 27.02.2005 20:45
von Kaeru Gaman
wenn du die fehlermeldung, die der debugger dir ausgibt, auch liest,
dann siehst du, daß ExamineKeyboard mit einem Screen zusammenarbeitet,
den du mit OpenScreen bzw. OpenWindowedScreen öffnen musst.
wenn du ein fenster hast, gibt es events, um tastendrücke abzufangen.
bei einer console tippt man in die console direkt.
auf jeden fall brauchst du eine oberfläche, denen das betriebssystem die tastendrücke zuordnen kann.
wenn es einfach nur ein hintergrundprogrämmchen sein soll,
das tastatureingaben an andere programme überwacht,
wird das ganze viel komplizierter, und ich weiss nicht wie das geht...
Verfasst: 27.02.2005 20:46
von MVXA
Suchen macht Schlau. Sowas ähnliches habe ich schon Programmiert. Hier ist ne verbesserte version von nco2k (sry wenn ich den namen falsch geschrieben hab

. ):
Code: Alles auswählen
Repeat
For lngI = 7 To 255
Taste = GetAsyncKeyState_(lngI)
If (Taste & $1) = $1
Miep+1
Debug Miep
EndIf
Next
lngI = 0
Delay(1)
Until GetAsyncKeyState_(27)
Wäre vielleicht was fürs Codearchiv

Verfasst: 27.02.2005 20:49
von Rubiko
danke an euch beide,
ihr habt geholfen^^
EDIT : jetzt kann ich mich schon bei 3 bedanken :P
Verfasst: 11.03.2005 21:45
von Rubiko
hm sorry das ich den alten thread wieder hochhole, aber
irgendwie finde ich dieses event nicht von dem die rede ist, hab mir die hilfe lange angeschaut und durchsucht, aber macht sich einer die mühe und sucht für mich das event das tastendrücke abfängt?
Verfasst: 11.03.2005 22:50
von MVXA
Kein Event. Ich Frage mit [c]For lngI = 7 To 255 [/c] und [c]GetAsyncKeyState_(lngI) [/c] den Status aller drückbaren Tasten ab. Wenn eine der Tasten gedrückt wurde, wird zu Miep "1" dazu addiert.
Das ist kein Event sondern ne API von Windows. Damit kann man bischen Systemtiefer programmieren

.
Verfasst: 11.03.2005 23:58
von Rubiko
oh^^ ok danke