在 DOS 中使用 Win32

在 DOS 中使用 Win32

有没有办法可以启动 Win32 环境或从 DOS 运行 Win32 程序而不启动 Windows GUI?

我正在使用从软盘启动到 DOS 模式的 Windows 98 PC。

编辑:

我想运行命令行程序。其中一些是 Digital Mars C 和 .NET Framework。

答案1

没有微软支持的方法

Windows GUI离不开支持Win32程序的内核和运行库(在Windows 98中)。

你可以使用以下方式获得没有 GUI 的 Windows服务器核心Windows Server 2008 中的安装模式。

用于 DOS 的第三方 Win32 仿真

有一个软件可以模拟 Win32 API,并允许 Windows 控制台程序在 DOS 下运行。例如,HX DOS 扩展器主页上说:

HX DOS-Extender 是一款免费的 DOS 扩展器,内置 Win32 PE 文件格式支持。通常,DOS 扩展器的目的是使 DOS 应用程序可以使用保护模式功能。HX 完全支持这一目标,但更进一步。Win32 API 模拟层是 HX 的一部分,它允许许多 Win32 控制台应用程序在 DOS 中运行。

Digital Mars C++ 专门由 HX DOS Extender 支持,但 .NET 已深度集成到 Windows 中。我怀疑您是否能在模拟器上运行 .NET 软件。

警告,HX DOS Extender 下载中可能存在恶意软件!

显然,HX DOS Extender 网站上提供的下载内容有些可疑。Virustal 报告在我看来真的很可疑,大多数防病毒软件都报告其中存在某种恶意软件。

答案2

这取决于 Win32 程序。显然,GUI 程序无法运行,原因显而易见。另一方面,控制台应用程序可能可以運行。


1998 年,Chris Jones 编写了一个名为温敏(之前国防部新闻委员会) 试图模拟 Win32 API,以便 Windows 控制台程序可以在 DOS 下运行。根据手册,他显然打算支持 GUI 程序甚至 Direct-X 游戏,但从 1.00 版开始,只实现了基本的 DX 和窗口功能(即,仅足以“窗口中的‘你好,世界’”)。

我找不到任何更新的版本,所以我怀疑它比他希望的要困难得多,所以他放弃了这个项目。此外,由于该程序是在 Windows 98 时代编写的,它可能(很可能?)不支持更高版本的 Windows(2000+)。

答案3

西门子还可以运行一些命令行(控制台)Win32 程序,您需要stubit prog.exe先运行(stubit.exe是 WDOSX 的一部分),并且需要*.wdl从旁边的 WDOSX 发行版中复制文件prog.exe

从文件大小来看,HX 似乎比 WDOSX 支持更多的 Win32 命令行功能(即更多的 Win32 API 调用)。

我最近成功地使用了 WDOSX 和 HX:我用OpenWatcom V2(使用owcc -bwin32 prog.c),并且可执行文件prog.exe在 Windows 和 DOS(均使用 WDOSX 和 HX)上都能正常运行。

相关内容