Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Проблема с HotKey


Автор: USSR 5.10.2006, 16:14
Здравствуйте, возникла такая вот проблемма.
Делаю так
Код

if (GetAsyncKeyState($31) <> 0) and (GetAsyncKeyState(VK_SHIFT) <> 0) then blablabla;


и в итоге получается, что процедура blablabla сробатывает не обязательно при одновременном нажати "Shift+1", могу нажать "1", а через 5 мин. "Shift"...

Как зделать чтобы только одновременно можно было нажать ?

З.Ы. в поиске смотрел...

Автор: _hunter 5.10.2006, 16:27
а не прощели зарегистрировать (RegisterHotKey) этот хот-кей?

Автор: USSR 5.10.2006, 17:11
проблему уже решил сам... извеняюсь что "намусарил" на форуме

Автор: Alexeis 6.10.2006, 01:27
Цитата(USSR @  5.10.2006,  17:11 Найти цитируемый пост)
проблему уже решил сам... извеняюсь что "намусарил" на форуме 

Неправельно было записано условие. Там должна быть проверка установки старшего бита в слове.
Код

if ((GetAsyncKeyState($31) and $8000) = $8000) and 
   ((GetAsyncKeyState(VK_SHIFT) and $8000) = $8000)
then blablabla;




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)