Вниз
Скачать: CL | DM;

сочетание клавиш в фоновом режиме   Найти похожие ветки 

← →
rendall   (2010-04-25 16:23) [0]

Всем привет! Не понимаю как заставить OnKeyDown работать в фоновом режиме, если приложение скрывается через
Application.ShowMainform:=false; в модуле project, а также стоит KeyPreview = true; вот процедура:

procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
  if (Key=$81) and (ssShift in Shift) then Button1Click(Sender);
end;

правильно ли организовано сочетание Shift+Q ?


← →
sniknik ©   (2010-04-25 16:37) [1]

в "фоновом режиме" нет ввода.


← →
rendall   (2010-04-25 16:40) [2]

просто видел в программах, таких как hypersnap при  нажатии shift+ctrl+? что-то все-таки происходит
правда она была в трее (а это что-то меняет?)


← →
sniknik ©   (2010-04-25 16:43) [3]

нет. меняет если она поставила хук. или в винде назначила "горячие клавиши" по которым ее "подымают" второй раз и она что-то делает в зависимости от повторности запуска делает.


← →
rendall   (2010-04-25 16:50) [4]

классно! спасибо за совет, думаю, нужно работать с SetWindowsHookEx


← →
Игорь Шевченко ©   (2010-04-25 18:18) [5]


> думаю, нужно работать с SetWindowsHookEx


нужно работать с RegisterHotKey


← →
Rendal ©   (2010-04-25 22:10) [6]


> нужно работать с RegisterHotKey


есть!!! спасибо за помощь. проблема решена. это был именно RegisterHotKey, нашел готовый пример с перехватами сообщений от окон и созданием ""глобальных атомов"". осталось лишь только найти метод определения занятости/незанятости  зарезервированных на данный момент комбинаций(аналогичное hypersnap выдает сообщение если комбинация занята), но сущ функция GlobalFindAtom(...), и тут уже ясно что делать)


← →
Leonid Troyanovsky ©   (2010-04-25 22:53) [7]


> Rendal ©   (25.04.10 22:10) [6]

> RegisterHotKey, нашел готовый пример с перехватами сообщений
> от окон и созданием ""глобальных атомов"". осталось лишь

If the function fails, the return value is zero.
To get extended error information, call GetLastError.

--
Regards, LVT.


← →
rendal ©   (2010-04-25 23:07) [8]


> If the function fails, the return value is zero. To get
> extended error information, call GetLastError.

...точно, можно судить о занятости по обращении ф-ции в нуль, что намного проще!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.049 c
15-1275942578
Юрий
2010-06-08 00:29
2010.08.27
С днем рождения ! 8 июня 2010 вторник


2-1274121959
Semen
2010-05-17 22:45
2010.08.27
Объединение 3-х полей таблицы Paradox в одно.


2-1274176896
St.Anger
2010-05-18 14:01
2010.08.27
Двумерный динамический массив


15-1273773663
stas
2010-05-13 22:01
2010.08.27
Цифровая подпись Microsof


10-1166276143
samael6
2006-12-16 16:35
2010.08.27
Плагины к Internet Explorer




   Наверх