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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2015, 12:36   #1
jonikster
Форумчанин
 
Регистрация: 28.10.2014
Сообщений: 216
По умолчанию Обработка клавиш в delphi

Всех приветствую.
Есть вот какая задача:
Что бы при нажатии f8, постоянно нажималась пробел автоматически. А когда ещё раз нажать f8, этот процесс остановился.
И что бы это происходило не только в окне программы.
И вот вопрос:
Какими методами, можно разрешить данную задачу?
Заранее благодарен!
jonikster вне форума Ответить с цитированием
Старый 12.12.2015, 14:33   #2
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Цитата:
Сообщение от jonikster Посмотреть сообщение
Какими методами, можно разрешить данную задачу?
Регистрация горячих клавиш в ситстеме, да это будет происходить даже и не в окне программы, даже когда она скрыта!

Код HTML:
А когда ещё раз нажать..
Булева переменная, или обычная переменная счетчик на отсчет количества нажатий и присвоение кода в зависимости от значения этого счетчика-переменной.

Ну и процедура RegisterHotkey регистрации горячих клавиш, в комментария расписал, читай внимательнее. Сами клавиши и их константы в гугле найдеш.

Код:
  private
    //процедура регистрации горячих клавиш
    procedure WMHotKey(var Msg: TMessage); message WM_HOTKEY;

    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.WMHotKey(var Msg: TMessage);
begin
    if Msg.WParam = 1 then
    Caption := 'Нажат ALT + F8';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    //регистрируемые клавиши
  RegisterHotkey(Handle, 1, MOD_ALT, VK_F8);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnregisterHotKey(Handle, 1); //удалить из памяти
end;

end.
Изображения
Тип файла: jpg 121.jpg (8.6 Кб, 49 просмотров)

Последний раз редактировалось NIKOLAYY2; 12.12.2015 в 14:38.
NIKOLAYY2 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработка нажатий клавиш в Qt SiNoNoto Gamedev - cоздание игр: Unity, OpenGL, DirectX 9 28.06.2017 16:42
Обработка нажатия клавиш skin11 Общие вопросы C/C++ 2 20.02.2014 16:37
обработка клавиш в qt (Линукс) snakes Qt и кроссплатформенное программирование С/С++ 4 03.01.2014 16:00
обработка клавиш из dll AntyDES C# (си шарп) 5 23.10.2012 12:42
Обработка клавиш на TListBox Melanholly Общие вопросы Delphi 2 31.10.2011 14:06