Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: 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 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
15-1273696195
Юрий
2010-05-13 00:29
2010.08.27
С днем рождения ! 13 мая 2010 четверг


2-1275034068
Сергей
2010-05-28 12:07
2010.08.27
Фокус на файл


2-1267511178
@!!ex
2010-03-02 09:26
2010.08.27
Как изменить внешний вид TPageControl?


15-1266563892
12
2010-02-19 10:18
2010.08.27
Работа. Что бы Вы выбрали?


2-1268463477
Тофер
2010-03-13 09:57
2010.08.27
Как узнать анкор на странице в TWebBrowser