我有一堆Windows 32位全屏EXE,这些EXE是为Windows XP时代编译的,并使用某些版本的DirectX来设置图形模式:320x240x8。它是硬编码的,本机的(不以任何方式伪造),并且不能以任何方式触摸,重新编译或修改二进制文件(不要问)。
我正试图让这些在Windows 7及更高版本上运行(如果没有正确的卡和驱动程序,它甚至不会在XP上运行,只是为了清除任何混淆)。它们只在视频卡及其驱动程序专门支持此模式时运行,这种模式非常罕见,无论它是在XP还是7上运行。
我已经解决了这个问题很长一段时间,多次向专家寻求帮助并获得各种潜在的解决方案,我已经逐一尝试过。它们中的每一个都失败并出现相同的错误:无法设置视频模式。问题始终是它无法设置视频模式。显而易见的解决方案是它无法尝试设置视频模式,因为它不受支持。所以我需要一些小EXE,我可以捆绑这些EXE,可以设置为“环绕”它并欺骗它认为它实际设置模式,而它实际上运行在某种模拟视频窗口
我尝试过“Windows上的Wine”,各种实用程序“改变分辨率”,在VM中运行它,兼容性设置等等。几乎任何你想到的东西。什么都没有用。但即使它确实有效,虚拟机也不会好,因为它也必须是“可分发的”。
任何人都可以帮助我吗?这甚至可以解决吗?看起来很奇怪,不可能“欺骗”程序认为他们确实设置了视频模式。
我希望真正的专家能够提出一些解决方案。
答案 0 :(得分:2)
我的驱动程序体验不在视频中,但我认为您应该能够编写一个响应/拦截directx调用的驱动程序。据我了解,视频堆栈虽然没有filter drivers。
然而,这种模拟模式需要支持我怀疑的大量直接ex API。除非电话的数量非常少。
答案 1 :(得分:0)
您可能想尝试一下:http://www.makeuseof.com/tag/2-ways-force-directx-applications-launch-windowed-fullscreen-windows/
<强>摘要强>
我过去曾使用DXWIN来保持程序不受全屏模式影响,而我的硬件处理不好。在不利方面,你会得到一个小窗口。
编辑:两个程序都没有提到在Windows 7中运行,当然也没有提到64位操作系统。如果其中任何一个有效,请发布一个解决方案,然后我会向你投票。