Quais são os requisitos para consoles de tela cheia no Windows 7?

10

Quando você tenta alternar um console para tela cheia no Windows 7, ocorre o erro Este sistema não oferece suporte ao modo de tela cheia. Digno de nota é a parte sobre "este sistema" , indicando que alguns sistemas suportam consoles em tela cheia. Da mesma forma, se você tentar usar a SetConsoleDisplayModefunção API, ele retornará o erro 120: Esta função não é suportada neste sistema. , Novamente com o “este sistema” .

A maioria dos sistemas pode usar consoles de tela cheia no Windows XP e funciona no Modo de segurança do Windows 7, então o que diabos o Windows 7 precisa para que isso funcione em uma inicialização normal?

Mensagem de erro do console em tela cheia

Synetech
fonte
1
Eu estava tentando testar, mas não tenho uma versão de hardware de 32 bits do Windows 7. Ele funciona em uma VM VMWare sem problemas.
KCotreau
1
@grawity, ainda hoje, o POST está em 80x50. As placas gráficas modernas ainda suportam VESA.
Synetech 26/07
2
@ Synetech inc: Em todos esses sistemas, vejo uma tela de 80x25. 25 linhas, não 50.
Michael Trausch
1
Como você produz essa caixa de mensagem (na captura de tela)? No meu sistema Windows 7 (Home Premium de 64 bits), Alt + Enter não faz nada e não existe o item de menu 'Tela cheia'.
Andreas Rejbrand
1
@AndreasRejbrand, você está correto; Eu apenas tentei em um sistema de 64 bits com os mesmos resultados que você. Eu acho que foi completamente removido do Windows de 64 bits. :-|
Synetech 22/11/12

Respostas:

4

Como sugerido, postarei meu comentário anterior como uma resposta separada:

O problema é que o novo modelo de driver não suporta programas em modo de texto VGA. Se são 8, 16, 32 ou mesmo 64 bits, não importa. Não sei se há algum modo VGA antigo em tela cheia, na verdade. Consulte support.microsoft.com/kb/926657

O principal a notar é que isso é culpa do modelo do driver, não dos recursos gráficos da placa. Praticamente todas as placas gráficas disponíveis suportam os modos VGA básicos, tanto o padrão VGA quanto pelo menos algum subconjunto relativamente comum dos modos VESA. Eu realmente não sei nada sobre o motivo por trás da Microsoft abandonar essa funcionalidade - não é como se os fornecedores de placas-mãe ou fabricantes de placas gráficas decidissem repentinamente abandonar o suporte a VGA.

(Observe também que praticamente todas as placas modernas em seus modos nativos não são VGA, mas uma coisa completamente diferente. Todas elas falam o conjunto de padrões VGA básicos.)

Michael Trausch
fonte
1
Provavelmente porque não foi considerado o esforço necessário para oferecer suporte ao console de tela cheia VGA no WDDM, principalmente porque o Windows de 64 bits não possui NTVDM.
Yuhong Bao 04/04
1
Não tenho certeza do que a falta de NTVDM tem a ver com isso; O NTVDM não tem nada a ver com os modelos de driver de vídeo, nem os antigos nem os novos. Eu suspeito que a principal razão pela qual eles abandonaram o suporte seja porque simplifica bastante o código necessário para os drivers gráficos; eles não precisam mais suportar todos os modos antigos que quase ninguém usa mais. Até os sistemas Linux modernos não usam mais os modos de tela VGA nas placas gráficas modernas, optando por definir o modo gráfico uma vez no momento da inicialização e pronto.
Michael Trausch
1
O NTVDM é um grande usuário do console de tela cheia VGA. Por exemplo, é usado quando um programa DOS muda para um modo de gráficos VGA.
Yuhong Bao
2

basta ir ao gerenciador de dispositivos

adaptador de vídeo

selecione sua placa gráfica clique com o botão direito

e desative

Isso é tudo

todos os programas funcionam em tela cheia frm agora quando você quiser

você pode habilitá-lo novamente sempre que necessário .... :-)

Ou você pode usar o comando WMIC, depois de usá-lo, você verá que o botão maximizar está ativado na janela, mas eu nunca trabalhei nesse ambiente.

avirk
fonte
1
Você pode verificá-lo facilmente Eu tenho trabalhado como que nenhuma placa gráfica permitir :).
avirk
1
Esta é a solução que eu estava fugindo. Desativar o driver desativará o DWM.
25911 surfasb
1
Sim @surfasb, eu concordo com você, mas somente isso pode ativar a tela cheia no Windows 7. E não há um procedimento demorado para fazer isso, apenas 3-4 etapas.
22411 Avirk
1
Eu só tenho o meu prompt de comando configurado com 300 linhas e um buffer de 800 linhas. . .
surfasb
1
@avirk, desabilitar a aceleração de hardware permite que ele funcione e quando você desabilita o adaptador gráfico, ele tem o mesmo efeito (embora simplesmente desabilitar a aceleração seja mais fácil e seguro). De qualquer maneira, não é a solução, pois não é diferente da execução em modo de segurança. Estou tentando descobrir que tipo de placa ou driver é necessário para executá-lo no modo normal , aceleração de hardware e tudo.
Synetech
1

O novo DWM não é compatível com programas de 16 bits em tela cheia.

surfasb
fonte
1
A maioria dos programas de linha de comando são 32/64 bits, no entanto. E o DWM não se importa de qualquer maneira - as janelas do console são exibidas pelo CSRSS.
user1686
2
O problema é que o novo modelo de driver não suporta programas em modo de texto VGA . Se são 8, 16, 32 ou mesmo 64 bits, não importa. Não sei se há algum modo VGA antigo em tela cheia, na verdade. Consulte support.microsoft.com/kb/926657
Michael Trausch
1
@grawity. Na verdade, o DWM se importa. Tenho certeza de que o motivo é porque o DWM funciona em um nível superior aos programas de console. Portanto, isso levaria algumas mudanças de design maciças. blogs.msdn.com/b/oldnewthing/archive/2007/12/31/6909007.aspx
surfasb
3
Então vamos ver, apoiar uma configuração moribunda. Faça os desenvolvedores escreverem drivers que suportam dois modelos de driver. Mesmo se os drivers forem sólidos, o aplicativo tem uma forte possibilidade de travar e derrubar todo o sistema. Todo mundo culpa M $. Além disso, o UAC não é suportado. Privilégios de administrador para todos. Parece uma estratégia vencedora lá.
surfasb
2
Esse é o tipo de porcaria que tenho que ouvir no trabalho. "Por que não podemos apoiar o Super Gadget 2000? Todas as outras empresas o possuem." ou "Por que não podemos oferecer suporte ao Super OLD Gadget -200? Todas as outras empresas o possuem". Se você quiser apoiá-lo para todos em sua agenda aberta, eu até comprarei um bolo para você. Não é que eu odeie XP. Eu odeio pessoas que trazem problemas, mas não apresentam soluções. . . Caramba, é como todo mundo gritando "CORRIGIR O DÉFICITO!" Quão? "Ummmm, você paga por isso..."
Surfasb