GARANTIR DESCONTO

Fórum Maximizar janela do DOS #163243

29/05/2003

0

Olá.
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

Nildo

Responder

Posts

23/06/2004

Tiba

Olá. 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.


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 ?


Responder

Gostei + 0

23/06/2004

Dopi

Acho que isso é de pouca ajuda... mas....

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... :-(


Responder

Gostei + 0

23/06/2004

Nildo

A solução é simples:
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


Responder

Gostei + 0

23/06/2004

Tiba

Como conseguir o handle se eu soubesse parte do texto de uma janela ?

por exemplo .. Se o texto completo para buscar a janela fosse ´Prompt do MS-DOS´ e eu soubesse apenas ´MS-DOS´ ..

tem como buscar ?


Responder

Gostei + 0

23/06/2004

Nildo

Como conseguir o handle se eu soubesse parte do texto de uma janela ? por exemplo .. Se o texto completo para buscar a janela fosse ´Prompt do MS-DOS´ e eu soubesse apenas ´MS-DOS´ .. tem como buscar ?


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.


Responder

Gostei + 0

23/06/2004

Tiba

mais explicações ...

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.


Responder

Gostei + 0

23/06/2004

Tiba

como eu faria para enumerar todas as janelas ?


Responder

Gostei + 0

24/06/2004

Delphinhow

Desculpe mais não entendi se vc tem o handle da janela que vc quer envie a mensagem para ela pedindo que se maximize. Fica mais ou menos assim
sendmessage(handle, WM_SYSCOMMAND, SC_MAXIMIZE,0) ;
acho que é isso só de uma conferida nos comandos!!! Tô com preguiça de abrir o delphi!!!


Responder

Gostei + 0

24/06/2004

Tiba

Desculpe mais não entendi se vc tem o handle da janela que vc quer envie a mensagem para ela pedindo que se maximize. Fica mais ou menos assim sendmessage(handle, WM_SYSCOMMAND, SC_MAXIMIZE,0) ; acho que é isso só de uma conferida nos comandos!!! Tô com preguiça de abrir o delphi!!!


Não tenho o handle da Janela .... tenho parte do texto da janela e a partir disto quero buscar o handle da janela..


Responder

Gostei + 0

15/09/2004

Dorivansousa

simulando o pressionamento da tecla Alt+Tab (so testei em windows 98):

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;


Responder

Gostei + 0

16/09/2004

Nildo

1 ano e 3 meses depois alguem reviveu este tópico! :D

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


Responder

Gostei + 0

16/09/2004

Dorivansousa

segundo as regras vc sempre deve fazer uma pesquisa antes de incluir alguma mensagem, fiz isso e me enteressei pelo tópico...


Responder

Gostei + 0

16/09/2004

Nildo

segundo as regras vc sempre deve fazer uma pesquisa antes de incluir alguma mensagem, fiz isso e me enteressei pelo tópico...


Perfeito!


Responder

Gostei + 0

18/09/2004

Tiba

simulando o pressionamento da tecla Alt+Tab (so testei em windows 98):


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.


Responder

Gostei + 0

20/09/2004

Tiba

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


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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar