Необходимо постоянно эмлировать нажатие кнопки (сама кнопка отсутствует).
Эмуляция производится так:
#define VK_NONAME 0xFC
#define KEYEVENTF_KEYUP 0x2
keybd_event(VK_NONAME, 0, KEYEVENTF_KEYUP, 0);
Единственный вопрос стоит в том, что где необходимо прописать данный код, чтобы при нажатии других кнопок эмуляция нажатия приостонавливалась?
14.07.06 14:49: Перенесено модератором из 'C/C++' — Кодт
Еще нашел ссылки, одна из которых
здесьАвтор: VictorT
Дата: 14.01.02
.
Сделал так же, но все равно не работает, экран гаснет как установлено в параметрах через 3 минуты.
Вот как выглядит код со структурой:
KEYBDINPUT ki;
ki.wVk = VK_NONAME;
ki.wScan = 0;
ki.dwFlags = KEYEVENTF_KEYUP;
INPUT in;
in.type = INPUT_KEYBOARD;
in.ki = ki;
SendInput(1, &in, sizeof(in));
посоветуйте че-нить что ль!
Здравствуйте, Antrekot, Вы писали:
A>Еще нашел ссылки, одна из которых здесьАвтор: VictorT
Дата: 14.01.02
.
A>Сделал так же, но все равно не работает, экран гаснет как установлено в параметрах через 3 минуты.
A>Вот как выглядит код со структурой:
A>A>KEYBDINPUT ki;
A>ki.wVk = VK_NONAME;
A>ki.wScan = 0;
A>ki.dwFlags = KEYEVENTF_KEYUP;
A>INPUT in;
A>in.type = INPUT_KEYBOARD;
A>in.ki = ki;
A>SendInput(1, &in, sizeof(in));
A>
A>посоветуйте че-нить что ль!
объясни попонятнее что тебе надо
Здравствуйте, Antrekot, Вы писали:
A>Сделал так же, но все равно не работает, экран гаснет как установлено в параметрах через 3 минуты.
Если вам нужно предотвратить запуск хранителя экрана, это можно сделать в функции окна, вернув ноль в ответ на сообщение WM_SYSCOMMAND с параметром wParam равным SC_SCREENSAVE:
switch (uMsg) // Check For Windows Messages
{
...
case WM_SYSCOMMAND: // Intercept System Commands
{
switch (wParam) // Check System Calls
{
case SC_SCREENSAVE: // Screensaver Trying To Start?
case SC_MONITORPOWER: // Monitor Trying To Enter Powersave?
return 0; // Prevent From Happening
}
break; // Exit
}
...
}
В приведенном примере также предотвращается отключение монитора.