Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

Проблема с определением нажат ли Shift в Windows 98   Найти похожие ветки 

 
Gigant   (2003-12-26 01:14) [0]

У меня есть две функции, одна из которых определяет прижат ли shift в данный момент, а другая включён ли CapsLock.

function IsShiftPressed : Boolean;
begin
Result:=0<>(GetKeyState(VK_SHIFT) and 128);
end;

function IsCapsLockOn : Boolean;
begin
Result:=0<>(GetKeyState(VK_CAPITAL) and $01);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if IsShiftPressed then label1.caption:="shift"
else label1.caption:="not shift";
if IsCapsLockOn then label2.caption:="caps"
else label2.caption:="not caps";
end;

В Windows ХР они работаеют нормально, но в 98 если моё приложение активно, то тоже всё нормально, а если моё приложение не активно и я нажимаю шифт (включаю капс лок) в другом приложении, то эти функции не реагируют. С чем это связано и как от этого избавиться?


 
tesseract ©   (2003-12-26 09:52) [1]

всё правильно в 2000/XP программа не уничтожает сообщения клавиатурные адресованные другой программе а WIN98 это благополучно делает, выход - пиши хук пропускающий через себя всё, и выбирай, что нужно


 
Gigant   (2003-12-26 15:50) [2]

Всё ясно, спасибо, вот ведь фигня!



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

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
14-43882
тихий вовочка
2004-02-19 15:29
2004.03.14
осенние цыплята и Delphi


1-43609
kirill_bezrukov
2004-03-01 22:04
2004.03.14
Передача в BPL(DLL) DataSet или IBDataBase


1-43471
aha
2004-02-29 15:26
2004.03.14
Работа с Chart , можно ли вычислить значение


3-43270
Zilog
2004-01-23 13:25
2004.03.14
DBGrid - напонятный глюк.


1-43550
Batoon
2004-02-27 17:30
2004.03.14
работа с LISTBOX ом