Top.Mail.Ru
Ответы

Перехват нажатия клавиши сводит меня с ума пожлст помогите С++

Пишем примерно такой код:
int Zapusk=0;
{
for(;;)
{
Zapusk=GetKeyState(VK_ADD); //Перехват нажатия клавиши +(на windowsXP глобальный) и передача
//его значения переменной "Zapusk" если клавиша зажата то значение<0,или при каждом кратком
//нажатии возвращаемое значение меняется с 0 на 1 и на оборот при втором кратком нажатии
for(;Zapusk<0;)//2-цикл
{
//Выполняются какието операции...
}
Sleep(100);//Чтоб не нагружать проц
}
Этот код прикрасно компилируется и работает как консольное приложение...
ТОесть как только функция GetKeyState передает переменной Zapusk значение <0 говорящее о том что клавиша зажата управление переходит ко второму циклу...
А при компиляции этого же када как win32приложение и при запуске этого приложения она зависает на 1-ом цикле...Как это можно исправить???Или можетбыть есть какиенибуть альтернативы не сложные?

По дате
По рейтингу
Аватар пользователя
Новичок
15лет

хрен его честно как на С а на дельфях такой код у меня работает сто процентно
(HIBYTE(GetKeyState(VK_RCONTROL)) and $FF <> 0)

пардон
GetKeyState не сработает если окно вызывающее эту функцию не активно. . нужно устанавливать глобальные хуки

тут почитай
[ссылка заблокирована по решению администрации проекта]. shelek. ru/index.php/topic,2614.0.html

Аватар пользователя
Мудрец
15лет

держи shift мизинцем и пробуй дотянуццо до другого

Источник: на пайтоне корябаю
Аватар пользователя
Ученик
15лет

ты гониш эту хрень творить?