Вниз
Скачать: CL | DM;

Проблема с SetKeyboardState();   Найти похожие ветки 

← →
EHOT ©   (2006-03-27 13:33) [0]

Помогите советом. Использую в проге переклюение Caps, Scroll.

GetKeyboardState(K);
K[VK_CAPITAL]:=1;
SetKeyboardState(K);

Переrлючение срабатывает, а светодиоды на клаве никак не реагируют...


← →
MBo ©   (2006-03-27 13:39) [1]


procedure SwitchToggleKey(Key: byte; State: boolean);
var
 ks: TKeyboardState;
 ScanCode: integer;
begin
 if not key in [VK_CAPITAL, VK_NUMLOCK, VK_SCROLL, VK_INSERT] then
   exit;
 if (key = VK_NUMLOCK) and (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) then
 begin
   GetKeyboardState(ks);  {for Win95/98}
   if state then
     ks[key] := ks[key] or 1
   else
     ks[key] := ks[key] and 254;
   SetKeyboardState(ks);
 end
 else
   if odd(GetKeyState(key)) <> state then
   begin
     ScanCode := MapVirtualKey(key, 0);
     keybd_event(key, ScanCode, {KEYEVENTF_EXTENDEDKEY} 0, 0 );
   {Simulate a key release}
   keybd_event(key, ScanCode, {KEYEVENTF_EXTENDEDKEY or } KEYEVENTF_KEYUP, 0);
 end;
end;

Note that not all controls "honor" the INSERT key, and others will only respond to the INSERT key while they have focus. I"m surprised that the Extended Key "attribute" works for the non-extended keys. Strangely enough, it works as well without KEYEVENTF_EXTENDEDKEY.

Tip by Werner Hafner



← →
EHOT ©   (2006-03-27 13:47) [2]

Огромносе спасибо!!! :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.043 c
3-1139486718
wezzz
2006-02-09 15:05
2006.04.09
Так работает ли BDE под Windows 2003 x64?


9-1127749540
Ford
2005-09-26 19:45
2006.04.09
IDirect3DDevice9 Не хочет создаваться


4-1137434926
Mysterious
2006-01-16 21:08
2006.04.09
Анимационный персонаж


1-1141626217
set45465
2006-03-06 09:23
2006.04.09
Исключительные ситуации


15-1142442463
TStas
2006-03-15 20:07
2006.04.09
Как называется программа?




   Наверх