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> > > > >