Hook na klawiature daje mi znaki MessageBuffer.paramL i nie wiem jak te liczby przełożyć na znaki klawiatury (duże, małe literki itd.). Jak robie chr(MessageBuffer.paramL) to zamiast cyftr na klawiaturze numerycznej dostaję małe literki. Ktoś wie jak sobie z tym poradzić?
0
0
Hi! Też kiedyś miałem, ten problem, więc poczytałem sobie Win32.hlp :D
Buffer := PEventMsg(lParam)^;
b:=buffer.paramL mod 256;
for i:=0 to 255 do
begin
a:=VkKeyScan(chr(i));
if (lo(a)=b)and(hi(a)=shft+2*alt+4*ctrl) then
s:=chr(i);
end;
Co prawda nie jest to chyba najbardziej optymalne wyjście, ale działa :D
Aha, mały komentarz:
shft,alt,ctrl : liczby 1..0, ktore informują, czy shift, alt lub control są naciśnięte, s to znak którego szukamy...
Aha, i czy shift, control czy alt jest nacisnięty, możemy dowiedzieć się dzięki funkcji GetKeyState;