Fórum Maximizar janela do DOS #163243
29/05/2003
0
Estou com o seguinte problema:
Tem uma janela do MS-DOS, que está em FullScreen, só que minimizado. Eu jah tenho o handle dessa janela e queria maximiza-la novamente pelo Delphi. Como fazer isso ?
Obrigado.
Nildo
Curtir tópico
+ 0Posts
23/06/2004
Tiba
Estou tendo agora o mesmo problema que o nildo ....
será que alguém agora sabe como resolver este problema ?
ou vc mesmo nildo conseguiu resolver ?
Gostei + 0
23/06/2004
Dopi
As aplicações TEF discado das operadoras efetuam algo semelhante... mesmo com programas DOS, porém aparentemente elas usam um ALT-TAB para voltar para a aplicação anterior. Notei isso porque se durante a transação TEF você escolher outra Janela (que nao seja da A.C.) e voltar para o programa TEF, quande ele encerra, e tenta restaurar o foco para a A.C. ele restaura para esta janela e nao para a A.C.... Exatamente como um ALT-TAB..
Como inserir um ALT-TAB no buffer do Teclado em Windows ? Isso eu não sei... :-(
Gostei + 0
23/06/2004
Nildo
use a API SetForegroundWindow e passe o Handle do FindWindow( 0, ´Prompt do MS-DOS, blablabla´), que o foco vai para aquele botãozinho que está na barra do menu iniciar do Windows. Agora é só você simular um ENTER pelo Keybd_event e a tela vai se restaurar!!
Nada como ganbiarras, hehehe
Gostei + 0
23/06/2004
Tiba
por exemplo .. Se o texto completo para buscar a janela fosse ´Prompt do MS-DOS´ e eu soubesse apenas ´MS-DOS´ ..
tem como buscar ?
Gostei + 0
23/06/2004
Nildo
Nesse caso você deve enumerar todas as janelas, salvar em uma array contendo o Nome da janela e o Handle dela, e depois fazer uma pesquisa por essa array e retornar seu handle específico.
Gostei + 0
23/06/2004
Tiba
no meu caso, um aplicativo em MS-DOS executa um outro feito no delphi, dessa forma o aplicativo em MS-DOS fica fullscreen e minimizado e depois segue conforme sua dúvida nildo ...
mas .. essa aplicação em MS-DOS pode ser executada pelo Prompt ou através de um atalho criado na Área de Trabalho ... assim os textos das janelas ficam diferentes.
Gostei + 0
23/06/2004
Tiba
Gostei + 0
24/06/2004
Delphinhow
sendmessage(handle, WM_SYSCOMMAND, SC_MAXIMIZE,0) ;
acho que é isso só de uma conferida nos comandos!!! Tô com preguiça de abrir o delphi!!!
Gostei + 0
24/06/2004
Tiba
Não tenho o handle da Janela .... tenho parte do texto da janela e a partir disto quero buscar o handle da janela..
Gostei + 0
15/09/2004
Dorivansousa
procedure TForm1.Button1Click(Sender: TObject);
begin
{ Mantém pressionada Alt }
keybd_event(VK_MENU, 0, KEYEVENTF_EXTENDEDKEY or 0, 0);
{ Pressiona F2 }
keybd_event(VK_TAB, 0, 0, 0);
{ Libera (solta) CTRL }
keybd_event(VK_MENU, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end;
Gostei + 0
16/09/2004
Nildo
Para quem quiser a solução, aqui vai:
http://skyscraper.fortunecity.com/gigo/311/winprog/fullscr.txt
Está em C e eu não funcionei, mas parece que funciona...
Um abraço a todos
Gostei + 0
16/09/2004
Dorivansousa
Gostei + 0
16/09/2004
Nildo
Perfeito!
Gostei + 0
18/09/2004
Tiba
O problema de fazer essa simulação é que se a janela já estiver abrindo em tela inteira, ela voltará em modo janela.
Então .. o problema é saber quando a janela já estiver abrindo em tela inteira.
Gostei + 0
20/09/2004
Tiba
Não funcionou como eu queria ...
esta solução apenas simula o como eu já tinha tentado e tbm foi proposto pelo dorivansousa.
portanto, o problema continua em saber quando já está em tela inteira para que não volte em Uso em Janela.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)