![]() |
Re: Tastur mitschreiben
wenn ich die KPHook compeliere kommt hier "hHook: LongWord = 0;" folgender Fehler:
undefinierter Bezeichner Longword |
Re: Tastur mitschreiben
Dann ersetze doch einfach mal LongWord durch DWORD oder Cardinal.
|
Re: Tastur mitschreiben
ok mit cardinal hats geklappt... danke
aber ich finde keine .pas datei in dem ganzen.. ist das absicht? |
Re: Tastur mitschreiben
Delphi-Quellcode:
uses windows, messages
****************** Declarations you need in your Program ***********************
const WM_KEYBOARD_HOOK = WM_USER + 52012; function CreateHook(hWnd: HWND; ShiftKeys: Boolean): Boolean; stdcall; external 'KoshigayaKeyboardHook.dll'; function DeleteHook: Boolean; stdcall; external 'KoshigayaKeyboardHook.dll'; ********************************************************************************} library KBHook; uses Windows, Messages; type PHWND = ^HWND; const WM_KEYBOARD_HOOK = WM_USER + 52012; var hHook: LongWord = 0; Key: Word; KeyboardLayout: HKL; GetShiftKeys: Boolean; hWndBuffer: PHWND; hMMF: THandle; function KeyboardProc(nCode: Integer; wParam: LongWord; lParam: LongWord): LongWord; stdcall; var LastKey: Char; KeyState: TKeyboardState; begin Result:=CallNextHookEx(hHook,nCode,wParam,lParam); if nCode<0 then Exit else begin KeyboardLayout:=GetKeyboardLayout(0); GetKeyboardState(KeyState); if ToAsciiEx(wParam,MapVirtualKeyEx(wParam,2,KeyboardLayout),KeyState,@LastKey,0,KeyboardLayout)>0 then Key:=Ord(LastKey) else Key:=wParam; if (lParam and $80000000)=0 then if not (wParam in [16,17,18]) or GetShiftKeys then PostMessage(hwndBuffer^,WM_KEYBOARD_HOOK,Key,GetActiveWindow); end; end; function CreateHook(hWnd: HWND; ShiftKeys: Boolean): Boolean; stdcall; var bHWND: PHWND; begin hMMF:=CreateFileMapping($FFFFFFFF,nil,PAGE_READWRITE or SEC_COMMIT,0,SizeOf(hWnd),'KoshigayaKeyboardHookHandle'); bHWND:=MapViewOfFile(hMMF,FILE_MAP_WRITE,0,0,SizeOf(HWND)); bHWND^:=hWnd; UnmapViewOfFile(bHWND); GetMem(hWndBuffer,SizeOf(HWND)); hWndBuffer^:=hWnd; GetShiftKeys:=ShiftKeys; if hHook=0 then hHook:=SetWindowsHookEx(WH_KEYBOARD,@KeyboardProc,hInstance,0); Result:=hHook<>0; end; function DeleteHook: Boolean; stdcall; begin FreeMem(hWndBuffer); CloseHandle(hMMF); Result:=UnhookWindowsHookEx(hHook); hHook:=0; end; exports CreateHook, DeleteHook; var MMF: THandle; begin MMF:=OpenFileMapping(FILE_MAP_READ,false,'KoshigayaKeyboardHookHandle'); if MMF<>0 then begin hWndBuffer:=MapViewOfFile(MMF,FILE_MAP_READ,0,0,SizeOf(HWND)); CloseHandle(MMF); end; end. Läßt sich ohne Schwierigkliten mit Strg+F9 unter D6 kompilieren. |
Re: Tastur mitschreiben
Moin Luckie,
Zitat:
Sollte also wohl auch in D3 gehen. |
Re: Tastur mitschreiben
ging jaauch ^^
|
Re: Tastur mitschreiben
nur ist da auch soetwas wie eine .pas datei irgendwo?
|
Re: Tastur mitschreiben
Nein. Wozu?
|
Re: Tastur mitschreiben
damit man damit besser weiter arbeiten kann.... finde ich...
|
Re: Tastur mitschreiben
Wie so? Ob der Cod enun in der Projekt-Datei (dpr) steht oder dieser über eien sepaarte Unit (pas) in die Projektdatei eingebunden wird ist doch egal.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz