Fórum Serviço no Windows x Delphi #356678
06/04/2008
0
Senhores,
Estou com um problema :
Tenho um programa instalado, que jamais poderá ficar inativo.
Daí criei um serviço no windows que monitora sua execução:
procedure Monitor.Timer1Timer(Sender: TObject);
Var
HprevHist : HWND;
programa:string;
handle : hwnd;
begin
programa := ´C:\Temp\Programa.exe´;
HprevHist := FindWindow(Nil, PChar(´Programa´));
if HprevHist = 0 then
WinExec(´C:\Temp\Programa.exe´, SW_NORMAL)
end;
Ele está funcionando perfeitamente.. Monitora e se não estiver ativo executa. Porém, essa execução não resulta na tela principal do sistema, ou seja, o programa vai para a lista de processos do windows (CTRL + ALT+ DEL) mas não aparece para o usuário interagir.
A única coisa que observei é que esse programa vai para a lista com o nome de usuário SYSTEM e não com o usuário logado na maquina.
Agora o mais espantoso: quando eu desinstalo o serviço, ele executa o meu programa normalmente com o usuário logado no S.O.
Alguém já passou por isso, ou tem um jeito mais simples de resolver esse problema..
[]´s
Estou com um problema :
Tenho um programa instalado, que jamais poderá ficar inativo.
Daí criei um serviço no windows que monitora sua execução:
procedure Monitor.Timer1Timer(Sender: TObject);
Var
HprevHist : HWND;
programa:string;
handle : hwnd;
begin
programa := ´C:\Temp\Programa.exe´;
HprevHist := FindWindow(Nil, PChar(´Programa´));
if HprevHist = 0 then
WinExec(´C:\Temp\Programa.exe´, SW_NORMAL)
end;
Ele está funcionando perfeitamente.. Monitora e se não estiver ativo executa. Porém, essa execução não resulta na tela principal do sistema, ou seja, o programa vai para a lista de processos do windows (CTRL + ALT+ DEL) mas não aparece para o usuário interagir.
A única coisa que observei é que esse programa vai para a lista com o nome de usuário SYSTEM e não com o usuário logado na maquina.
Agora o mais espantoso: quando eu desinstalo o serviço, ele executa o meu programa normalmente com o usuário logado no S.O.
Alguém já passou por isso, ou tem um jeito mais simples de resolver esse problema..
[]´s
Joaopaulobn2
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)