|
Вопрос # 767/ вопрос открыт / |
|
Здравствуйте, господа эксперты! У меня есть свёрнутое в трэй приложение. Как его развернуть на экран с помощью определенной комбинации клавиш?
 |
Вопрос задал: alone (статус: Посетитель)
Вопрос отправлен: 20 июля 2007, 00:18
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Смотри в хэлпе инфу про WinAPI-функции RegisterHotkey() и UnRegisterHotkey().
Хотел я сначала выдрать кусок кода из своего исходника, но там будет сложно разобраться, т.к. в настройках программы есть опция выбора комбинации горячих клавиш для разворачивания программы из трея и т.п. Короче, много лишнего. Поэтому я нашёл пример попроще из одного справочника.
Вопрос:
Как глобально перехватить нажатие кнопки PrintScreen?
Ответ:
В примере для глобального перехвата нажатия клавиши printscreen регистрируется горячая клавиша (hot key).
Пример:
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
const id_SnapShot = 101;
procedure TForm1.WMHotKey (var Msg : TWMHotKey);
begin
if Msg.HotKey = id_SnapShot then
ShowMessage('GotIt');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Form1.Handle,
id_SnapShot,
0,
VK_SNAPSHOT);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey (Form1.Handle, id_SnapShot);
end;
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 20 июля 2007, 08:25
Оценка за ответ: 5
Комментарий к оценке: Спасибо за пример!
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|