11

NEW!

Я пытался опубликовать здесь вчера, но это продолжало давать мне ошибку. Я обнаружил, что на самом деле он вообще не использует DirectX, но GDI или что-то еще, кроме графики DX в Windows (не OpenGL или любой другой аппаратный API). Извини за это. Я действительно думал, что это был DX.

У меня есть набор 32-битных полноэкранных EXE-файлов Windows, которые были скомпилированы для эпохи Windows XP, и я использую некоторую версию DirectX для настройки графического режима: 320x240x8. Он является жестко закодированным, нативным (не фальсифицированным), и двоичные файлы не могут быть затронуты, перекомпилированы или изменены каким-либо образом (не спрашивайте).

Я пытаюсь заставить их работать на Windows 7 64-битной и более поздней версии (она даже не работает на XP без правильной карты и драйвера, просто чтобы устранить любую путаницу). Они запускаются только в том случае, если видеокарта и ее драйвер специально поддерживают этот режим, что крайне редко, независимо от того, запущена ли она на XP или 7. 32/64-битные версии, похоже, тоже не влияют.

Я был над этой проблемой в течение долгого времени, много раз обращаясь к экспертам за помощью и получая всевозможные потенциальные решения, которые я пробовал один за другим. Каждый из них терпит неудачу с одной и той же ошибкой: не может установить режим видео. Проблема всегда в том, что он не может установить режим видео. Очевидное решение состоит в том, что он не может пытаться установить режим видео, потому что он не поддерживается. Поэтому мне нужен какой-то маленький EXE-файл, который я могу связать с этими EXE-файлами и который можно настроить так, чтобы он "оборачивался" и обманывал его, думая, что он действительно установил режим, в то время как он фактически работает в эмулируемом видеоокне. ,

Я пробовал "Wine на Windows", различные утилиты, которые "меняют разрешение" (включая DXWIN и D3DWindower), запускал его внутри виртуальной машины, настройки совместимости и т.д. Почти все, что вы сразу думаете. Ничего не работает вообще. Но виртуальная машина не была бы хороша, даже если бы она работала, потому что она также должна быть "распространяемой".

Может кто-нибудь мне помочь? Это вообще возможно решить? Это кажется настолько странным, что невозможно "обмануть" программы, заставив их думать, что они действительно установили режим видео.

Я надеюсь, что настоящий эксперт сможет найти какое-то решение.

2 ответа2

2

Совершенно не то, что он на самом деле хотел сделать, и я не могу сказать, сработает ли он, не имея фактических файлов, о которых идет речь, но вы можете эмулировать старую видеокарту с 3danalyzer.Он эмулирует карты NVIDIA серий 4000 и 5000, которые относительно старые и могут работать.

2

Утилита PowerStrip (29,95 долл. С пробной версией) может добавить пользовательские разрешения для вашего монитора. Для сумасшедших (таких как ваш) неизвестно, как это будет выглядеть.

Статья вики « Пользовательские режимы отображения» показывает, как это делается, и даже упоминает специально настраиваемые разрешения, такие как 320x200 и 320x240.

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

Если ваша Windows 32-битная, а ваша видеокарта VGA, возможно, эта старая статья также может помочь:Настроенные режимы VGA.

[РЕДАКТИРОВАТЬ]

Другая возможность - использовать regedit и position для этого ключа:
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{video-card}\0000 ,
измените следующие ключи: DefautlSettings.XResolution , DefautlSettings.YResolution , затем перезагрузите компьютер.

Если ничего не работает, возможно, ваша видеокарта не поддерживает пользовательские разрешения, добавленные через драйвер, PowerStrip или в regedit. Это поможет нам узнать модель вашей карты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .