Andrei,

Este artigo deve resolver teu problema.

http://delphi.about.com/od/windowsshellapi/l/aa100703a.htm

Sucesso !!

Moacir

Andrei Luís escreveu:
> Olá Jackson,
>
> Achei muitas dicas de sendmessage que maximizam a tela e/ou fazem o restore,
> mas nenhuma funcionou por aqui.
>
> Abaixo meu código, Mutex, é uma variável do tipo THandle, que pelo que
> entendi, pega o Handle da janela que está sendo criada, ou da janela já
> existe caso seja a segunda execução do executável.
>
> Você, ou outro colega poderia dar uma luz no que estou fazendo errado ao
> restaurar a aplicação?
>
> Mutex := CreateMutex(nil, True, 'TeStE');
>   if Mutex <> 0 then //Encontrou sua aplicação
>     begin
>       if GetLastError = ERROR_ALREADY_EXISTS then
>         begin
>           Showmessage('Sistema já está em execução.');
>
>           // abaixo as tentativas que fiz, uma de cada vez
>
>           SendMessage(Mutex, WM_SYSCOMMAND, SC_RESTORE, 0);
>           SetForegroundWindow(Mutex);
>           SendMessage(Mutex, sw_maximize , 0, 0);
>           SendMessage(HWND_BROADCAST, RegisterWindowMessage('TeStE'), 0, 0);
>           ShowWindow(Mutex, SW_MAXIMIZE );
>
>
>
>           CloseHandle(Mutex); // Fecha Handle
>
>           Halt; // Fecha a segunda aplicação
>
>           Exit; // Sai
>         end;
>     end;
>
> 2009/9/28 Jackson Gomes - Tools&Comps <jack...@toolsandcomps.com>
>
>
>   
>   

Responder a