Ir para conteúdo
Fórum Script Brasil
  • 0

Como Mudar Janela/tela Cheia De Programas Ms-dos Via Programação


Ricardo Bianchin

Pergunta

Amigos,

Desenvolvo em delphi 7

meus clientes usam de windows 98 pra cima

Meu programa em delphi abre um programa ms-dos.

utilizo a WinExec para isto.

o problema é que o programa ms-dos abre como janela

como garantir que o programa ms-dos abra no modo tela cheia?

o usuario tem que trocar de modo atraves de alt+enter. como eu simulo esta ação?

Agradeço antecipadamente

Ricardo

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

A idéia era algo como está abaixo, porém não está resultando no esperado. Quem sabe algum outro colega agora possa dar alguma idéia para resolver este problema. (desculpe não poder ajudar mais)

procedure TForm1.Button1Click(Sender: TObject);
var
  Handle :HWND;
  KeyFlag :LongInt;
begin
  Handle := FindWindow(nil, PChar('Prompt de comando'#0));  // Eu abri uma janela do prompt para testar
  if Handle > 0 then
  begin
    if SetForegroundWindow(Handle) then  // Ativa janela do prompt do dos
    begin
      KeyFlag := (18 shl 15) or // Specifies the scan code (do help WM_KEYDOWN)
                 (1 shl 23) or  // Specifies whether the key is an extended key (do help WM_KEYDOWN)
                 (1 shl 29);    // Specifies the previous key state. The value is 1 if the key is down (do help WM_KEYDOWN)
      SendMessage(Handle, WM_KEYDOWN, VK_MENU, KeyFlag);
      KeyFlag := (13 shl 15) or // Specifies the scan code (do help WM_KEYDOWN)
                 (1 shl 29);    // Specifies the previous key state. The value is 1 if the key is down (do help WM_KEYDOWN)
      SendMessage(Handle, WM_KEYDOWN, VK_RETURN, KeyFlag);

      KeyFlag := 1 or           // Specifies the repeat count. The repeat count is always one for a WM_KEYUP
                 (18 shl 15) or // Specifies the scan code (do help WM_KEYDOWN)
                 (1 shl 29) or  // Specifies the previous key state. The value is 1 if the key is down (do help WM_KEYDOWN)
                 (1 shl 30);    // Specifies the transition state. The value is always 1 for a WM_KEYUP (do help WM_KEYDOWN)
      SendMessage(Handle, WM_KEYUP, VK_RETURN, KeyFlag);
      KeyFlag := 1 or           // Specifies the repeat count. The repeat count is always one for a WM_KEYUP
                 (18 shl 15) or // Specifies the scan code (do help WM_KEYDOWN)
                 (1 shl 23) or  // Specifies whether the key is an extended key (do help WM_KEYDOWN)
                 (1 shl 29) or  // Specifies the previous key state. The value is 1 if the key is down (do help WM_KEYDOWN)
                 (1 shl 30);    // Specifies the transition state. The value is always 1 for a WM_KEYUP (do help WM_KEYDOWN)
      SendMessage(Handle, WM_KEYUP, VK_MENU, KeyFlag);
    end;
  end;
end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...