Delphi com DOS
Boa tarde.
Estou com um sério problema: Tenho uma aplicação (.EXE) desenvolvida em Delphi 3 que está rodando junto a uma aplicação desenvolvida em FoxPro. Essa aplicação solicita a minha camada (desenvolvida em Delphi) funções através de troca de arquivos. Quando minha janela fica ativa a tela da aplicação Fox fica minimizada. Ocorre que ao término da função, executada pela minha camada, a aplicação FoxPro continua minimizada, sendo necessário, então, que o operador pressione ALT + TAB no teclado para que a tela DOS retorne. Tenho uma função na minha Aplicação que pega o handle dessa tela DOS através do comando ´FindWindow´, depois de ter pego o Handle utilizo o comando ´ShowWindow(handle, SW_SHOWNORMAL)´ para que essa tela seja mostrada. Quando a tela DOS não está com o modo de exibição ´Tela Inteira´ essa função funciona perfeitamente, ou seja, a tela DOS, após a execução das funções do meu programa, torna a aparecer novamente na tela. O problema é quando essa tela DOS está com modo de exibição ´Tela Inteira´, porque, como já dito, a tela DOS fica minimizada. Alguém poderia me ajudar nesse assunto?
Grato pela atenção
Estou com um sério problema: Tenho uma aplicação (.EXE) desenvolvida em Delphi 3 que está rodando junto a uma aplicação desenvolvida em FoxPro. Essa aplicação solicita a minha camada (desenvolvida em Delphi) funções através de troca de arquivos. Quando minha janela fica ativa a tela da aplicação Fox fica minimizada. Ocorre que ao término da função, executada pela minha camada, a aplicação FoxPro continua minimizada, sendo necessário, então, que o operador pressione ALT + TAB no teclado para que a tela DOS retorne. Tenho uma função na minha Aplicação que pega o handle dessa tela DOS através do comando ´FindWindow´, depois de ter pego o Handle utilizo o comando ´ShowWindow(handle, SW_SHOWNORMAL)´ para que essa tela seja mostrada. Quando a tela DOS não está com o modo de exibição ´Tela Inteira´ essa função funciona perfeitamente, ou seja, a tela DOS, após a execução das funções do meu programa, torna a aparecer novamente na tela. O problema é quando essa tela DOS está com modo de exibição ´Tela Inteira´, porque, como já dito, a tela DOS fica minimizada. Alguém poderia me ajudar nesse assunto?
Grato pela atenção
Marcelo.lima
Curtidas 0
Respostas
Nildo
29/04/2004
Eu tive o memo problema na outra empresa que eu trabalhava. Eu resolví da seguinte maneira:
Quando você dá esse ShowWindow em uma janela DOS do tipo ´Tela Inteira´, o TaskBar dele fica em foco. O que voce deve fazer depois disso é simular um Enter com o Keybd_event.
Era algum esquema que eu fazia que o Taskbar dele recebia foco. Então eu simulava o pressionamento da tecla ENTER e entao ele restaurava a janela mesmo em modo ´Tela Inteira´.
Quando você dá esse ShowWindow em uma janela DOS do tipo ´Tela Inteira´, o TaskBar dele fica em foco. O que voce deve fazer depois disso é simular um Enter com o Keybd_event.
Era algum esquema que eu fazia que o Taskbar dele recebia foco. Então eu simulava o pressionamento da tecla ENTER e entao ele restaurava a janela mesmo em modo ´Tela Inteira´.
GOSTEI 0