Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];




Вниз

Problema s GetKeyboardState 


Сергей К. ©   (2004-11-11 17:22) [0]

Я внутри Low Level Keyboard Hook во время его срабатывания
узнаю нажаты командные клавиши (ctrl/shift/alt/win) с помощью
этой функции (см. ниже),она взависимости от состояния
этих клавиш возвращает код (0 .. 9).
Всё это работет только тогда, когда моя программа имеет фокус,
когда я делаю активной другую программу, то функция в любом случае
возвращает 0. Может мне кто-нибудь объяснить почему это происходит ?

function ControlKeyState :Integer;
 function KeyState(VirtualKeyCode :Byte) : Boolean;
 var
   State : TKeyboardState;
 begin
   GetKeyboardState(State);
   Result := ((State[VirtualKeyCode] And 128) <> 0);
 end;
begin
 Result := 0;
 if KeyState(VK_CONTROL) then result := 1;
 if KeyState(VK_MENU) then result := 2;
 if KeyState(VK_RWIN) or KeyState(VK_LWIN) then result := 3;
 if KeyState(VK_CONTROL) and KeyState(VK_MENU) then result := 4;
 if KeyState(VK_CONTROL) and ( KeyState(VK_RWIN) or KeyState(VK_LWIN)) then result := 5;
 if KeyState(VK_CONTROL) and KeyState(VK_SHIFT) then result := 6;
 if KeyState(VK_MENU) and (KeyState(VK_RWIN) or KeyState(VK_LWIN)) then result := 7;
 if KeyState(VK_CONTROL) and KeyState(VK_SHIFT) and KeyState(VK_MENU) then result := 8;
 if KeyState(VK_CONTROL) and KeyState(VK_MENU) and (KeyState(VK_RWIN) or KeyState(VK_LWIN)) then result := 9;
end;



VMcL ©   (2004-11-11 18:36) [1]

>>Сергей К. ©  (11.11.04 17:22)

GetAsyncKeyState
?



easy ©   (2004-11-11 19:26) [2]

result := (Word(GetKeyState(VirtualKeyCode)) and $8000) <> 0;



Сергей К. ©   (2004-11-12 10:07) [3]

всем спасибо заработало :)




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];




Наверх






Память: 0.75 MB
Время: 0.052 c
3-1101317039      Sergy Ivanec          2004-11-24 20:23  2004.12.26  
Вопрос по Fastreport


1-1102596883      Aleksandr.            2004-12-09 15:54  2004.12.26  
Люди, ничего уже не понимаю! В чем провинилась ExtractFileName?


14-1102069619     andsoft               2004-12-03 13:26  2004.12.26  
Нужен человек для написания отладчика


1-1103005195      Ailk                  2004-12-14 09:19  2004.12.26  
Помогите с PopupMenu!


14-1102473842     Думкин                2004-12-08 05:44  2004.12.26  
С днем рождения! 8 декабря