quinta-feira, 24 de setembro de 2009

Executa um aplicativo somente se ele não estiver aberto, caso contrário apenas chama-o

Procedure ExecutaApp(Nome,State,NomeExec,Path:Pchar;Estado:Integer);
// Valores para Estdo: SW_SHOWNORMAL Janela em modo normal
// SW_MAXIMIZE Janela maximizada
// SW_MINIMIZE Janela minimizada
// SW_HIDE Janela Escondida
// Exemplo:
// ExecutaApp('CALCULADORA','OPEN','CALC.EXE','C:WINDOWS',8);
// Onde 'CALCULADORA' é o nome da janela do aplicativo
var
TheWindows: HWND;
begin
theWindows := FindWindow(NIL,Nome);
if TheWindows <> 0 then
begin
SetForegroundWindow(TheWindows)
end
else
begin
if (Estado > 3) or (Estado < 1) then
begin
Estado := 1;
end;
ShellExecute(Application.Handle,State,NomeExec,NIL,Path,Estado);
end;
end;

Nenhum comentário:

Postar um comentário