Vet någon hur man kan fånga tangentbordtryckningar i delphi? Förmodligen behöver man använa API:t. Jag har sökt men inte hittat något. Med tangentbordtryckningar menar jag alla, även om inte programmet är aktivt utan ligger i bakgrunden.
Key capture
1 svar · 223 visningar · startad av larsmark
Förmodligen behöver man använa API:t.
Ja, det måste man. I grova drag:
1. Du skapar en systemglobal tangentbords-hook med anropet:
SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)KeyboardProc, (HINSTANCE)hInstance, 0);
KeyboardProc är en funktion som du skriver själv och till vilken Windows kommer att skicka alla tangentnedtryckningar.
2. Kruxet är sen att SetWindowsHookEx måste anropas inne ifrån en Windows-dll ifall det är frågan om en global hook (anges av nollan på slutet). Du blir alltså tvungen att skriva en dll som du sen anropar från ditt Delphi-program.
Om du har tillgång till nån version av Visual C++ så har jag nog färdig C++-kod för själva dll:en som du kan få.