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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2024, 23:43   #1
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 52
По умолчанию Считывать нажатие клавиш при неактивном окне формы

Здравствуйте, товарищи.

На форме имеется компонент Memo. Мне нужно, при неактивном окне формы, нажать на клавишу VK_NUMPAD5. В результате чего в Memo должен появиться текст "Привет!".

- При активном окне формы код простой:
Код:
if HiWord(GetKeyState(VK_NUMPAD5)) <> 0 then
  Memo1.Lines.Add('Привет')
- При неактивном окне формы интернет предлагает решить проблему с помощью хуков. Мозги отъезжают от подобного говна. Есть способ попроще? Если нет, прошу кинуть незамудрённый код с хуками, без объяснений. Разберусь сам.
Также есть вариант временно переключаться на окно Делфи, чтоб оно становилось активным и творить вещи, а потом переключаться обратно на предыдущее окно. Но нужно знать Хэндлы. А я не знаю. Просьба кинуть незамудрённый код с небольшими объяснениями в комментариях.
Explosion вне форума Ответить с цитированием
Старый 13.12.2024, 06:29   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,861
По умолчанию

если хуки ставить неохота, то просто постоянно форму пихай на передний план, и реакция формы на нажатия кнопок будут работать исправно.
----------
если всё же решишься на хуки, то добро пожаловать https://www.programmersforum.ru/showthread.php?t=346900 - но надо разобраться хотя бы в этой теме.
--------
"нет царского пути в геометрию..."
--------
а так, хоть и страшно было и непонятно, но с хуками разобрался в своё время, писал dll'ку по примерам и описаниям в Инете. даже получилось!!!
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 13.12.2024 в 16:27.
NetSpace вне форума Ответить с цитированием
Старый 13.12.2024, 14:07   #3
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 52
По умолчанию

Цитата:
просто постоянно форму пихай на передний план, как в этой теме
Ссылку бы на тему
Explosion вне форума Ответить с цитированием
Старый 25.12.2024, 09:05   #4
xxbesoxx
Участник клуба
 
Аватар для xxbesoxx
 
Регистрация: 10.08.2010
Сообщений: 1,393
По умолчанию

Цитата:
Сообщение от Explosion Посмотреть сообщение
Также есть вариант временно переключаться на окно Делфи, чтоб оно становилось активным и творить вещи
Давайте подробно. На пример в проекте есть Form1, Form2, Eorm3, при открытое проект или компилирование .exe файл открывается Form1 на который есть Memo1 да ? и Form2, Eorm3 неактивном окне формы - понятно. на этих неактивном формы какой компонент ? Memo тоже ? потом вы нажимайте "VK_NUMPAD5 = Цифровая клавиатура 5 клавиш" и с этого давайте подробно: Какой форму активизировать и где приветствовать ?
xxbesoxx вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нажатие клавиш в неактивном окне SPLER C# (си шарп) 11 16.02.2014 22:34
Как блокировать перехват клавиш в неактивном окне? Pamparam Общие вопросы Delphi 15 14.01.2012 22:32
Нажатие комбинации клавиш в неактивном окне. viruss Общие вопросы Delphi 4 17.01.2011 19:58
Эмуляция клавиш в неактивном окне Аникейка Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 17.11.2010 09:21
Нажатие мыши в неактивном окне? sanchopansa Общие вопросы Delphi 3 16.07.2008 08:18