Каковы требования для полноэкранных консолей в Windows 7?

10

Когда вы пытаетесь переключить консоль в полноэкранный режим в Windows 7, выдает ошибку. Эта система не поддерживает полноэкранный режим. Особо следует отметить часть «этой системы» , в которой говорится, что некоторые системы поддерживают полноэкранные консоли. Точно так же, если вы попытаетесь использовать SetConsoleDisplayModeфункцию API, она возвращает ошибку 120: эта функция не поддерживается в этой системе. опять же с «этой системой» .

Большинство систем могут делать полноэкранные консоли в Windows XP, и это работает в безопасном режиме Windows 7, так что, черт возьми, нужно Windows 7 для того, чтобы это работало при нормальной загрузке?

Сообщение об ошибке полноэкранной консоли

Synetech
источник
1
Я собирался попробовать протестировать, но у меня нет аппаратной 32-битной версии Windows 7. Она работает без проблем под виртуальной машиной VMWare.
Котро
1
@ grawity, даже сегодня, POST в 80x50. Современные видеокарты по-прежнему поддерживают VESA.
Synetech
2
@Synetech inc: Во всех этих системах я вижу экран 80x25. 25 строк, а не 50.
Майкл Трауш
1
Как вы создаете это окно сообщения (на скриншоте)? В моей системе Windows 7 (64-разрядная версия Home Premium) Alt + Enter ничего не делает, и пункт меню «Полный экран» отсутствует.
Андреас Рейбранд
1
@AndreasRejbrand, вы правы; Я только что попробовал это на 64-битной системе с теми же результатами, что и вы. Я думаю, что он был полностью удален из 64-битной Windows. :-|
Synetech

Ответы:

4

Как и предполагалось, я выложу свой комментарий ранее как отдельный ответ:

Проблема в том, что новая модель драйвера не поддерживает программы в текстовом режиме VGA. Будь то 8, 16, 32 или даже 64 бит, не имеет значения. Я не знаю, поддерживается ли какой-либо из старых режимов VGA в полноэкранном режиме. См. Support.microsoft.com/kb/926657

Главное, что следует отметить, это вина модели драйвера, а не графических возможностей карты. Практически каждая отдельная видеокарта поддерживает базовые режимы VGA, как стандартные VGA, так и, по крайней мере, некоторые относительно общие подмножества режимов VESA. На самом деле я ничего не знаю о причинах, по которым Microsoft отказалась от этой функциональности - производители материнских плат или производители видеокарт не собираются внезапно отказываться от поддержки VGA.

(Также обратите внимание, что практически все современные карты в их родных режимах не являются VGA, а представляют собой совершенно другую вещь. Просто они все говорят на основе базовых стандартов VGA.)

Майкл Трауш
источник
1
Возможно, потому что считалось, что не стоит усилий по поддержке полноэкранной консоли VGA в WDDM, особенно потому, что в 64-битной Windows нет NTVDM.
Юйхонг Бао
1
Я не уверен, что с этим связано отсутствие NTVDM; NTVDM не имеет ничего общего с моделями драйверов дисплея, как старыми, так и новыми. Я подозреваю, что основная причина, по которой они отказались от его поддержки, заключается в том, что он значительно упрощает код, необходимый для графических драйверов; им больше не нужно поддерживать все те старые режимы, которые больше никто не использует. Даже современные системы Linux больше не используют режимы экрана VGA на современных графических платах, вместо этого они решили установить графический режим один раз во время загрузки и покончить с этим.
Майкл Трауш
1
NTVDM - большой пользователь полноэкранной консоли VGA. Например, он используется, когда программа DOS переключается в графический режим VGA.
Юйхонг Бао
2

просто зайдите в диспетчер устройств

адаптер дисплея

выберите вашу графическую карту правой кнопкой мыши

и отключить его

это все

вся программа DOS работает в полноэкранном режиме теперь, когда вы хотите

Вы можете включить его снова, когда это необходимо .... :-)

Или вы можете использовать команду WMIC, после использования вы увидите, что кнопка максимизации включена в окне, но я никогда не работал в этой среде.

avirk
источник
1
Вы можете проверить это легко, я работал так, что без графической карты. :)
avirk
1
Это решение, которое я избегал. Отключение драйвера отключит DWM.
Surfasb
1
Да, @surfasb Я согласен с вами, но только это может включить полноэкранный режим в Windows 7. И это не длинная процедура, чтобы сделать это всего за 3-4 шага.
avirk
1
У меня просто есть настройка командной строки с 300 строками и буфером на 800 строк. , ,
Surfasb
1
@avirk, отключение аппаратного ускорения позволяет ему работать, и когда вы отключаете графический адаптер, это имеет тот же эффект (хотя простое отключение ускорения проще и безопаснее). В любом случае, это не решение, поскольку оно ничем не отличается от работы в безопасном режиме. Я пытаюсь выяснить, какая карта или драйвер требуется для запуска в обычном режиме, аппаратное ускорение и все.
Synetech
1

Новый DWM не совместим с полноэкранными 16-битными программами.

surfasb
источник
1
Однако большинство программ командной строки являются 32/64-битными. И DWM не волнует в любом случае - окна консоли отображаются CSRSS.
user1686
2
Проблема в том, что новая модель драйвера не поддерживает программы в текстовом режиме VGA . Будь то 8, 16, 32 или даже 64 бит, не имеет значения. Я не знаю, поддерживается ли какой-либо из старых режимов VGA в полноэкранном режиме. См support.microsoft.com/kb/926657
Michael Trausch
1
@grawity. На самом деле, DWM все равно. Я уверен, что причина в том, что DWM работает на более высоком уровне, чем консольные программы. Таким образом, для этого потребуются серьезные изменения дизайна. blogs.msdn.com/b/oldnewthing/archive/2007/12/31/6909007.aspx
surfasb
3
Итак, давайте посмотрим, поддерживать умирающие настройки. Заставьте разработчиков писать драйверы, которые поддерживают две модели драйверов. Даже если бы драйверы были надежными, у приложения есть большая вероятность сбоя и разрушения всей системы. Все обвиняют M $. Кроме того, UAC не поддерживается. Права администратора для всех. Похоже, выигрышная стратегия там.
Surfasb
2
Это та чушь, которую я слышу на работе. «Почему мы не можем поддержать Super Gadget 2000? У всех других компаний это есть». или «Почему мы не можем поддержать Super OLD Gadget -200? У всех других компаний есть». Если вы хотите поддержать его для всех в вашем широко открытом графике, я даже куплю вам торт. Дело не в том, что я ненавижу ХР. Я просто ненавижу людей, которые поднимают проблемы, но не представляют решений. , , Черт возьми, это так же, как все кричат ​​"ИСПРАВИТЬ ДЕФИЦИТ!" Как? "Ммм, вы платите за это ..."
Surfasb