Kontrolowanie wciskanych klawiszy

0

Siema. W jaki sposób programowo odebrać jaki klawisz wcisnął użytkownik (niekoniecznie w naszej aplikacji, w dowolnym oknie) i ZAMIENIĆ ten klawisz na inny? Np. wciskasz spację, a pojawia się '_'? Tylko nie podawajcie mi odnośników do Hooków na 4prog... bo już je wielokrotnie czytałem i nic nie znalazłem. Chyba, że coś przegapiłem.

Powtarzam, proszę o sposób na zamianę klawisza, jaki wciska użytkownik, a nie o samą metodę odczytania.

0

"looknij" na to:
http://www.swissdelphicenter.com/en/showcode.php?id=1212

w momencie wciskania klawiszy Win+X podmienia je na "brak".
wystarczy, zebys tylko pozmienial kilka rzeczy.

0
Balthasar the Cat napisał(a)

Siema. W jaki sposób programowo odebrać jaki klawisz wcisnął użytkownik (niekoniecznie w naszej aplikacji, w dowolnym oknie) i ZAMIENIĆ ten klawisz na inny? Np. wciskasz spację, a pojawia się '_'? Tylko nie podawajcie mi odnośników do Hooków na 4prog... bo już je wielokrotnie czytałem i nic nie znalazłem. Chyba, że coś przegapiłem.

Powtarzam, proszę o sposób na zamianę klawisza, jaki wciska użytkownik, a nie o samą metodę odczytania.

Czy ten klawisz ma zmienić w dowolnej aplikacji? czy w twojej? Bo jeśli w twojej to sposób jest banalny
np:
if key = 13 then memo1.seltex:=#95;

0

W dowolnym oknie Windows.

W procedurze odbierającej komunikaty zrobiłem tak:

case TPMsg(lParam)^.message of
  WM_KEYDOWN:
    if (TPMsg(lParam)^.wParam = 32) then
    begin
      TPMsg(lParam)^.wParam := 65;
      TPMsg(lParam)^.lParam := 1966081;
    end;
end;

I działa, o ile podam wParam i lParam klawisza, jakiego chcę. Co jednak, gdy chcę uzystać informację o wParam znaku _ ? Naciskam naraz Shift i - i nie wiem jakie dane przekazać!

1 użytkowników online, w tym zalogowanych: 0, gości: 1