Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi KeyEvents manipulieren (https://www.delphipraxis.net/66083-keyevents-manipulieren.html)

Savar 24. Mär 2006 13:20


KeyEvents manipulieren
 
Ich möchte KeyEvents abfangen, verändern und weitersenden. Geht das überhaupt?
Ich nehmen an, dass ich dazu einen KeyboardHook wie diesen benötige:
Delphi-Quellcode:
library KeyboardHook;

uses
  Windows,
  Messages;

var
  HookHandle: Cardinal = 0;
  WindowHandle: Cardinal = 0;

function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
  case nCode < 0 of
    true: exit;
    false:
      begin
        //ANWEISUNGEN
      end;
  end;
end;

function InstallHook(Hwnd: Cardinal): Boolean; stdcall;
begin
  Result := False;
  if HookHandle = 0 then begin
    HookHandle := SetWindowsHookEx(WH_KEYBOARD, @KeyboardHookProc, HInstance, 0);
    WindowHandle := Hwnd;
    Result := TRUE;
  end;
end;

function UninstallHook: Boolean; stdcall;
begin
  Result := UnhookWindowsHookEx(HookHandle);
  HookHandle := 0;
end;

exports
  InstallHook,
  UninstallHook;
end.
Mit welchen Anweisungen kann ich das erreichen?

Zacherl 24. Mär 2006 13:22

Re: KeyEvents manipulieren
 
Vermutlich musst du nur in der KeyboardHookProc nCode und / oder wParam und / oder lParam anpassen.

Savar 24. Mär 2006 14:11

Re: KeyEvents manipulieren
 
Zitat:

Zitat von Florian Bernd
Vermutlich musst du nur in der KeyboardHookProc nCode und / oder wParam und / oder lParam anpassen.

Ja, aber wie mach ich das? (Welche Funktionen gibt es da?)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz