返回资讯中心
外部精选
软件工程
#开发者实时流

16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows

16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows

Hacker News 最新doener2026/10/27 · 今天5 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows

An altered version of winevdm (a 16-bit Windows emulator), ported to 64-bit Windows.

If you get an error that VCRUNTIME140.dll is missing, install Microsoft Visual C++ Redistributable for Visual Studio 2017 (32-bit)

Drag and drop Win16 executable file to otvdm.exe or execute otvdmw.exe.

How to install

Download or compile

Run "install" shortcut or right-click on install.inf and select "Install"

You can execute Win16 binaries directly!

If the registry is initialized by Windows Update, perform the above procedure again.

You can uninstall it by running uninstall.reg.

Install Visual Studio 2017

Edit PropertySheet.props

Compile

How to compile(cmake)

git clone https://github.com/otya128/winevdm.git cd winevdm mkdir build cd build cmake .. make

How does it work?

This program contains the following items

BOOL16 WINAPI DestroyWindow16( HWND16 hwnd ) { return DestroyWindow( WIN_Handle32(hwnd) ); }

Relay routines from 16-bit to 32-bit are autogenerated by convspec 53 pascal -ret16 DestroyWindow(word) DestroyWindow16

DOS emulation for Win16

16-bit <=> native HANDLE conversion

Fix compatibility problems, fix compatibility problems

install.inf

When 64-bit Windows detects a 16-bit installer, it has a mechanism to start an alternative installer which is not 16-bit. This program uses it.

Some Win16 programs try to save their settings in %WINDIR%<filename>.ini

In recent Windows, it is not allowed to save to %WINDIR%, so it redirects.

winevdm.exe [--app-name app.exe] command line winevdm.exe CALC.EXE

It can also run DOS executables (DOS emulator-like). You can set the DOS version with the VDMDOSVER environment variable.

DOS emulation is incomplete and it is recommended to use DOSBox or MS-DOS Player.

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →