Danke für die tolle Erklärung! Nun macht das ganze für mich Sinn...
Ne Bedingung also... Gut werd's mir merken!
Also werd ich noch ne weitere Bedingung für Zahlen (und alle anderen Tasten) einbauen versuchen.
Mein Ziel bei der ganzen Sache ist folgender:
Ich möchte die gesamten Tastatureingaben im Hintergrund in eine Datei schreiben: Ein Keylogger halt... Jedoch möcht ich dies nicht mit einem Keyboard-Hook erreichen, da sonst alle Antiviren alarm schlagen! Deshalb mach ich es per GetKeyboardState.
WICHTIG
Das Resultat dient nicht irgendwelchen bösartigen Aktionen, sondern ausschliesslich meinem Wissenshunger. Wollte schon lange Mal einen Keylogger programmieren um zu verstehen wie es funktioniert.
@ Andreas (und alle die mir sonst Helfen können)
Ich hab versucht das Window-Fenster aus dem Code zu streichen und lediglich die Repeat-Schleife laufen zu lassen, da ich ja bei einem Keylogger kein Fenster gebrauchen kann.

Das sieht dann so aus:
Code: Alles auswählen
Macro GetBit(value,bit)
(value>>bit&1)
EndMacro
Dim States.b(255)
Repeat
If EventID = #WM_KEYUP
If EventwParam() > 64 And EventwParam() < 91
GetKeyboardState_(@States(0))
Select GetBit(States(#VK_CAPITAL),0)
Case 0
Select GetBit(States(#VK_SHIFT),7)
Case 0
Debug LCase(Chr(EventwParam()))
Case 1
Debug UCase(Chr(EventwParam()))
EndSelect
Case 1
Select GetBit(States(#VK_SHIFT),7)
Case 0
Debug UCase(Chr(EventwParam()))
Case 1
Debug LCase(Chr(EventwParam()))
EndSelect
EndSelect
EndIf
EndIf
Delay(1)
Until GetAsyncKeyState_(#VK_ESCAPE)&0001
End
Kann mir einer sagen wieso? Müsste doch eigentlich funktionieren...

thx, orderinchaos