Главная страница
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.071 c
2-1271231369
smman
2010-04-14 11:49
2010.08.27
Вывод двумерного массива типа real


15-1270240202
Юрий
2010-04-03 00:30
2010.08.27
С днем рождения ! 3 апреля 2010 суббота


2-1266230351
Андрей_1
2010-02-15 13:39
2010.08.27
IP и имя компьютера


2-1275124913
tamako
2010-05-29 13:21
2010.08.27
dbf в txt как?


2-1268198078
Б
2010-03-10 08:14
2010.08.27
HBITMAP -> Pointer