![]() |
|
|
#8
|
||||
|
||||
Отвечаю сам себе ... и всем остальным кто столкнулся с похожей проблемой.Выход из положения - написать функцию которая регистрировала бы горячую клавишу Код:
const id_F6 = 101;
procedure TForm1.WMHotKey (var Msg : TWMHotKey);
begin
if Msg.HotKey = id_F6 then
Begin
if Form1.Visible = False Then Form1.Show Else Form1.Hide;
end;
end;А вот собственно и применение: Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.Showmainform:=false;
RegisterHotKey(Form1.Handle,
id_F6,
0,
VK_F6);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey (Form1.Handle, id_F6);
end;Код:
procedure TForm1.FormShow(Sender: TObject); begin SetWindowLong(Handle, GWL_HWNDPARENT, GetDesktopWindow); // Устанавливаем родителем Desctop SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE); // Перемещаем наверх end; P.S.Приложение установил как службу. Приложение запускается с скрытой от пользователя формой, как это сделать ... гугл вам в помощь. |