Tasten in Datei speichern
Verfasst: 14.03.2008 15:24
Hi Leute... Wir haben an unserer Schule n Netzwerk und hin und wieder werden sachen von schülern geändert und bei nachfrage war es natürlich niemand.... Ich habe meiner IT lehrerin angeboten eine Art Keylogger zu proggen. Nun hab ich aber schon mein erstes Problem
Die Tasten werden nicht in die Datei geschrieben...
Hier der Code... (hab ich zum größten Teil aus dem SourceArchiv)
Die Tasten werden nicht in die Datei geschrieben...
Hier der Code... (hab ich zum größten Teil aus dem SourceArchiv)
Code: Alles auswählen
Enumeration
#Window_0
EndEnumeration
Enumeration
#String_0
#Text_0
#Text_1
#Text_2
#Text_3
#Text_4
EndEnumeration
Global OldCallback, key$, vk$
key$ = Space(255)
Procedure String0_CallBack(hwnd, msg, wparam, lparam)
Select hwnd
Case GadgetID(#String_0)
gadID$ = "#String_0"
If wparam = #VK_TAB ; catch the tab key
GetKeyNameText_(lparam,key$,255)
SetGadgetText(#Text_2, key$)
SetGadgetText(#Text_3, "")
EndIf
EndSelect
Select msg
Case #WM_KEYDOWN ; get the key pressed
GetKeyNameText_(lparam,key$,255)
SetGadgetText(#Text_2, key$)
SetGadgetText(#Text_3, "")
Case #WM_CHAR ; display valid charater
lShift = GetAsyncKeyState_(#VK_LSHIFT)
rShift = GetAsyncKeyState_(#VK_RSHIFT)
lCtrl = GetAsyncKeyState_(#VK_LCONTROL)
rCtrl = GetAsyncKeyState_(#VK_RCONTROL)
;Debug rCtrl
If lShift < 0
vk$ = "Left Shift + "
ElseIf rShift < 0
vk$ = "Right Shift + "
ElseIf lCtrl < 0
vk$ = "Left Control + "
ElseIf rCtrl < 0
vk$ = "Right Control + "
Else
vk$ = ""
EndIf
SetGadgetText(#Text_2, vk$ + key$)
If wparam <> 38 And wparam > 26
SetGadgetText(#Text_3, Chr(wparam))
ElseIf wparam = 38
SetGadgetText(#Text_3, "&" + Chr(wparam))
EndIf
Case #WM_SYSCHAR
lAlt = GetAsyncKeyState_(#VK_LMENU)
rAlt = GetAsyncKeyState_(#VK_RMENU)
If lAlt <> 0
vk$ = "Left Alt + "
ElseIf rAlt <> 0
vk$ = "Right Alt + "
Else
vk$ = ""
EndIf
SetGadgetText(#Text_2, vk$ + key$)
Case #WM_SYSKEYDOWN ; catch the Alt keys
GetKeyNameText_(lparam,key$,255)
SetGadgetText(#Text_2, key$)
lrAlt$ = key$
EndSelect
ProcedureReturn CallWindowProc_(OldCallback, hwnd, msg, wparam, lparam)
EndProcedure
If OpenWindow(#Window_0, 0, 0, 300, 150, "Spy Teacher", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_TitleBar)
If CreateGadgetList(WindowID(#Window_0))
HideWindow(#Window_0, 1)
CreateFile(0,"spyteacherlog.txt")
WriteString(0,key$)
TextGadget(#Text_0, 20, 60, 100, 20, "Gedrückte Taste", #PB_Text_Right)
TextGadget(#Text_1, 20, 90, 100, 20, "", #PB_Text_Right)
TextGadget(#Text_2, 130, 60, 100, 25, "")
TextGadget(#Text_3, 130, 90, 50, 25, "")
TextGadget(#Text_4, 130, 120, 50, 25, "")
StringGadget(#String_0, 20, 5, 260, 20, "")
SetActiveGadget(#String_0)
OldCallback = SetWindowLong_(GadgetID(#String_0), #GWL_WNDPROC, @String0_CallBack())
SetWindowLong_(GadgetID(#String_0), #GWL_WNDPROC, @String0_CallBack())
EndIf
EndIf
Quit = #False
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_CloseWindow
Quit = #True
CloseFile(0)
EndSelect
Until Quit
End