Tastendrücke systemweit erfassen
Tastendrücke systemweit erfassen
Hi,
Ich brauche eine Procedure, die mir die Tastendrücke Systemweit wiedergibt, mit diesen besonderheiten:
1. Sie sollte z.B. "A" nur einmal zurück geben, auch wenn man sie länger drückt.
2. Sollte sie auch Groß udn Kleinbuchstaben Unterscheiden können.
Gibt es da Ideen, wie man das umsetzen kann?
Ich brauche eine Procedure, die mir die Tastendrücke Systemweit wiedergibt, mit diesen besonderheiten:
1. Sie sollte z.B. "A" nur einmal zurück geben, auch wenn man sie länger drückt.
2. Sollte sie auch Groß udn Kleinbuchstaben Unterscheiden können.
Gibt es da Ideen, wie man das umsetzen kann?
----------------------------------------------------------
PB 5.20 Beta 10 | Windows 7
PB 5.20 Beta 10 | Windows 7
-
- Beiträge: 167
- Registriert: 29.12.2005 09:58
- Computerausstattung: Intel Core2 Quad (4x2,4 GHz), 4096 MB RAM, GForce 8800GTX 786 MB
Windows XP 32 Bit, PureBasic 4.40 (x86)
Zum systemweiten Abfangen von Tastatureingaben gibts hier schon mehrere Threads (=>Suche) und zu deinen "Sonderwünschen":
1. Das kannst du z.B. über einen Puffer realisieren: Merk dir einfach den letzten Tastendruck, und wenn der nächste mit dem letzten übereinstimmt, ignoriere ihn.
2. Bei Tastendrücken gibt es kein groß und klein, entweder ist die A-Taste gedrückt oder nicht. Du könntest nur abfragen ob die Shift-Taste zeitgleich gedrückt ist oder ob Capslock aktiv ist.
1. Das kannst du z.B. über einen Puffer realisieren: Merk dir einfach den letzten Tastendruck, und wenn der nächste mit dem letzten übereinstimmt, ignoriere ihn.
2. Bei Tastendrücken gibt es kein groß und klein, entweder ist die A-Taste gedrückt oder nicht. Du könntest nur abfragen ob die Shift-Taste zeitgleich gedrückt ist oder ob Capslock aktiv ist.
WinXP 32 Bit, PureBasic 4.40 (x86)
Dann wär "aa" ja nur ein "a"Rokur hat geschrieben:
1. Das kannst du z.B. über einen Puffer realisieren: Merk dir einfach den letzten Tastendruck, und wenn der nächste mit dem letzten übereinstimmt, ignoriere ihn.
[Ironie]
Für ein Keyloger ist das keine Gute Idee

Wenn jetzt mal einer einen guten Keyloger Source Online stellen würde , dann würden diese Threads abnehmen

[/Ironie]
X360 Andy hat geschrieben:Dann wär "aa" ja nur ein "a"Rokur hat geschrieben:
1. Das kannst du z.B. über einen Puffer realisieren: Merk dir einfach den letzten Tastendruck, und wenn der nächste mit dem letzten übereinstimmt, ignoriere ihn.
[Ironie]
Für ein Keyloger ist das keine Gute Idee
Wenn jetzt mal einer einen guten Keyloger Source Online stellen würde , dann würden diese Threads abnehmen![]()
[/Ironie]
Hehe, genau

Lol, ja gut sagen wirs mal so. Wenn die Taste noch gedrückt ist, dann bekomme ich ja immer die Taste zurück. Wenn jemand die Taste nun loslässt und wieder dückt ist ja kurz ein Leerlauf drin.
<Ironie>Naja also ich werde den Code hier aufjedenfall reinstellen, für eure Keylogger. Also haltet Ausschau nach deinem "Keylogger Mein procedure" Thread im Codes Tipps und Tricks Forum

Mein Proggy soll z.B. das Einstellungsfenster nur öffnen, wenn man : "Einstellungen Server" eingibt, egal, ob man in einem Spiel ist.... Mehr verrate ich aber nicht zu meiner neuen Programmidee.
----------------------------------------------------------
PB 5.20 Beta 10 | Windows 7
PB 5.20 Beta 10 | Windows 7
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
da es noch nicht gesagt wurde:
der Rückgabewert von GetAsyncKeyState_(#vk_) hat ein bestimmtes bit gesetzt, wenn es sich um den ersten druck auf diese taste handelt.
weitere rückmeldungen vom gedrückt halten sind zwar auch #True, haben aber einen anderen Zahlenwert.
der Rückgabewert von GetAsyncKeyState_(#vk_) hat ein bestimmtes bit gesetzt, wenn es sich um den ersten druck auf diese taste handelt.
weitere rückmeldungen vom gedrückt halten sind zwar auch #True, haben aber einen anderen Zahlenwert.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
http://purebasic.fr/german/viewtopic.ph ... 06&start=0coder hat geschrieben:Musst mal im Forum nach Keyboard-Hook oder auch KeyLogger suchen. (Zu letzterem gabs glaub ich wirklich mal 'ne Thread mit Codes...)

Hab sowieso schon eine code, der muss jetzt nur noch verstehen, wann groß und klein geschrieben wird.
Hier mal ein Beispiel...aber nichts böses damit machen
Hier mal ein Beispiel...aber nichts böses damit machen

Code: Alles auswählen
Global Taste
Procedure Key()
For n=0 To 255
If GetAsyncKeyState_(n)
ProcedureReturn n
EndIf
Next
EndProcedure
Procedure B(d.l)
Repeat
m = Key()
If m <> 0
WertA = m
Repeat
WertB = Key()
Until WertA <> WertB
Taste = WertA
EndIf
ForEver
EndProcedure
Procedure Tasten(f.l)
B_Thread = CreateThread(@B(), 44)
Repeat
If Taste <> 0
If Taste = #VK_A
Debug "A"
EndIf
If Taste = #VK_B
Debug "B"
EndIf
If Taste = #VK_C
Debug "C"
EndIf
If Taste = #VK_D
Debug "D"
EndIf
If Taste = #VK_E
Debug "E"
EndIf
If Taste = #VK_F
Debug "F"
EndIf
If Taste = #VK_G
Debug "G"
EndIf
If Taste = #VK_H
Debug "H"
EndIf
If Taste = #VK_I
Debug "I"
EndIf
If Taste = #VK_J
Debug "J"
EndIf
If Taste = #VK_K
Debug "K"
EndIf
If Taste = #VK_L
Debug "L"
EndIf
If Taste = #VK_M
Debug "M"
EndIf
If Taste = #VK_N
Debug "N"
EndIf
If Taste = #VK_O
Debug "O"
EndIf
If Taste = #VK_P
Debug "P"
EndIf
If Taste = #VK_Q
Debug "Q"
EndIf
If Taste = #VK_R
Debug "R"
EndIf
If Taste = #VK_S
Debug "S"
EndIf
If Taste = #VK_T
Debug "T"
EndIf
If Taste = #VK_U
Debug "U"
EndIf
If Taste = #VK_V
Debug "V"
EndIf
If Taste = #VK_W
Debug "W"
EndIf
If Taste = #VK_X
Debug "X"
EndIf
If Taste = #VK_Y
Debug "Y"
EndIf
If Taste = #VK_Z
Debug "Z"
EndIf
If Taste = #VK_DELETE
Debug "...Delete..."
EndIf
Taste = 0
EndIf
ForEver
EndProcedure
Tasten_Thread = CreateThread(@Tasten(), 55)
Delay(2222)
----------------------------------------------------------
PB 5.20 Beta 10 | Windows 7
PB 5.20 Beta 10 | Windows 7