Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];

Вниз

Проблема с определением нажат ли 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.017 c
3-43287
XAdmin
2004-01-23 13:36
2004.03.14
ADOCommand Error Размер поля недостаточен


1-43643
snake1977
2004-03-02 08:43
2004.03.14
Паралельная работа с файлами


6-43736
Sen
2004-01-02 15:26
2004.03.14
Передача потоков по сети


3-43329
BlackTiger
2004-02-17 16:48
2004.03.14
Как сделать аналог


3-43280
Руслан
2004-02-17 13:07
2004.03.14
шрифт из Delphi на Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский