Chamar meu programa
Ola pessoal!
Eu tenho que chamar meu aplicativo com um sequencia de teclas, pode ser ctrl+b ou qualquer palavra.
Agora os problemas
1- Meu aplicativo já está aberto no systray (do lado do relógio)
2- O foco não está no meu programa está em outro aplicativo qualquer.
Obrigado.
Eu tenho que chamar meu aplicativo com um sequencia de teclas, pode ser ctrl+b ou qualquer palavra.
Agora os problemas
1- Meu aplicativo já está aberto no systray (do lado do relógio)
2- O foco não está no meu programa está em outro aplicativo qualquer.
Obrigado.
Rafael Roni
Curtidas 0
Respostas
Cabelo
30/06/2004
Se vc já possui um TrayIcon.. vc só precisará da segunda função..
senão vc irá precisar de criar as duas..
procedure TForm1.FormCreate(Sender: TObject);
begin
// carrega o ícone inicial
Icon.Handle := LoadIcon (HInstance, ´MAINICON´);
// preenche os dados da estrutura NotifyIcon
nid.cbSize := sizeof (nid);
nid.wnd := Handle;
nid.uID := 1; // Identificador do ícone
nid.uCallBAckMessage := wm_IconMessage;
nid.hIcon := Icon.Handle;
nid.szTip := ´LloydSoft´;
nid.uFlags := nif_Message or
nif_Icon or nif_Tip;
Shell_NotifyIcon (NIM_ADD, @nid);
end;
procedure TForm1.IconTray (var Msg: TMessage);
var
Pt: TPoint;
begin
if Msg.lParam = wm_rbuttondown then
begin
GetCursorPos (Pt);
PopupMenu1.Popup (Pt.x, Pt.y);
end;
end;
depois nos itens do popup, vc deve colocar por exemplo um caption ´Visualizar Aplicativo´, e dê um showmodal no form principal, no evento click desta opção do popup..
espero ter ajudado..
sem mais
Cabelo
senão vc irá precisar de criar as duas..
procedure TForm1.FormCreate(Sender: TObject);
begin
// carrega o ícone inicial
Icon.Handle := LoadIcon (HInstance, ´MAINICON´);
// preenche os dados da estrutura NotifyIcon
nid.cbSize := sizeof (nid);
nid.wnd := Handle;
nid.uID := 1; // Identificador do ícone
nid.uCallBAckMessage := wm_IconMessage;
nid.hIcon := Icon.Handle;
nid.szTip := ´LloydSoft´;
nid.uFlags := nif_Message or
nif_Icon or nif_Tip;
Shell_NotifyIcon (NIM_ADD, @nid);
end;
procedure TForm1.IconTray (var Msg: TMessage);
var
Pt: TPoint;
begin
if Msg.lParam = wm_rbuttondown then
begin
GetCursorPos (Pt);
PopupMenu1.Popup (Pt.x, Pt.y);
end;
end;
depois nos itens do popup, vc deve colocar por exemplo um caption ´Visualizar Aplicativo´, e dê um showmodal no form principal, no evento click desta opção do popup..
espero ter ajudado..
sem mais
Cabelo
GOSTEI 0
Rafael Roni
30/06/2004
Caro amigo meu problema é que esse programa será executado para restringir o usuario de uma lanhouse
então a barra de tarefas onde está o systray está oculta juntamente com o botão iniciar já travado e todos os icones ocultos , só aparecerá o papel de parede quando a pesssoa usar o modo adimim deste software.(Smartlaunch 3.08)
Então o popup não serve.
Obrigado.
então a barra de tarefas onde está o systray está oculta juntamente com o botão iniciar já travado e todos os icones ocultos , só aparecerá o papel de parede quando a pesssoa usar o modo adimim deste software.(Smartlaunch 3.08)
Então o popup não serve.
Obrigado.
GOSTEI 0
Tatuweb
30/06/2004
Utilize hotkeys. Mas nesse tópico:
http://delphiforum.icft.com.br/forum/viewtopic.php?t=45212
http://delphiforum.icft.com.br/forum/viewtopic.php?t=45212
GOSTEI 0