Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2018, 13:06   #1
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
Сообщение Cout для НАЖАТИЯ горячей КЛАВИШИ

привет, подскажите пожалуйста, как поставить Cout для НАЖАТИЯ горячей КЛАВИШИ?

Код:
 procedure TForm1.RegHotKeyEx;
const
     VK_EscapeEx    = $1B;
     MOD_SHIFTs = 4;
begin
  DoubleBuffered := true;
  id1 := GlobalAddAtom('Hotkey1'); // закрыть
  RegisterHotKey(Handle, id1, 0, vk_EscapeEx);
  id2 := GlobalAddAtom('Hotkey2'); //start
  RegisterHotKey(Handle, id2,  0,Ord('S'));
  id3 := GlobalAddAtom('Hotkey3'); // about
  RegisterHotKey(Handle, id3,  0,Ord('A'));
  id4 := GlobalAddAtom('Hotkey4'); // свернуть
  RegisterHotKey(Handle, id4,  0,Ord('H'));
  id5 := GlobalAddAtom('Hotkey5'); // развернуть
  RegisterHotKey(Handle, id5,  0,Ord('R'));
end;
нужно для:

Код:
  id2 := GlobalAddAtom('Hotkey2'); //start
  RegisterHotKey(Handle, id2,  0,Ord('S'));
Частота нажатия клавиши S (в период: 4-6 секунд, если > 2-x, то
MessageBox(GetForegroundWindow(),'Вы часто нажимали S','AdvMsg',MB_OK or MB_ICONWARNING) )

что-то в этом вроди:

Код:
if GetKeyState(Ord('S')) > 2 then
Или какое сообщение отвечает за количество нажатия кнопки (Button1)?

Это не реагирует:

Код:
if  Button1.Perform(WM_LBUTTONDOWN, 0, 0) > 1 then
// двойные-щелчки кнопка мыши права тогда как курсор - в области клиента окна

Последний раз редактировалось beegl; 02.05.2018 в 13:49. Причина: add text
beegl вне форума Ответить с цитированием
Старый 02.05.2018, 22:07   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

таймер в помощь - пусть он секунды считает. а ты смотри на время с момента последнего нажатия и определяй интервал. и как только клавиша нажата - обнуляй счётчик, чтоб всё снова шло по кругу.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 03.05.2018, 07:27   #3
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
Сообщение

Цитата:
Сообщение от NetSpace Посмотреть сообщение
таймер в помощь - пусть он секунды считает
а что в таймене проверять, какой код писать?

написал:

Код:
if  VrAniButton1.Perform(WM_LBUTTONDOWN, 0, 0) > 1 then
MessageBox(GetForegroundWindow(),'Вы часто нажимали S','AdvMsg',MB_OK or MB_ICONWARNING);
и постоянно нажимает кнопку )

вот:

Вложения
Тип файла: zip Demo.zip (1.31 Мб, 3 просмотров)

Последний раз редактировалось beegl; 03.05.2018 в 08:32. Причина: add text
beegl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Активировать приложение после нажатие горячей клавиши Kovalchuk.Dmytro Общие вопросы Delphi 6 13.02.2016 20:57
flush(cout) для дочернего процесса wood9oblin Общие вопросы C/C++ 6 25.11.2012 15:46
Создание горячей клавиши для отображения окна xrenomx Общие вопросы Delphi 3 24.07.2012 12:30
cout., cin., cout.setf, cout.unsetf kineziz Общие вопросы C/C++ 1 06.05.2012 02:50
Проблема с горячей клавишей tirexherou Общие вопросы Delphi 2 23.01.2010 20:42