매일 아침 정리하는 세계의 흐름
해시스 브리핑
The Haesis Briefing
홈 › 경제
경제

winevdm - 64비트 Windows에서 16비트 Windows 프로그램 실행하기

[원문 본문]

winevdm - 64비트 Windows에서 16비트 Windows 프로그램 실행하기 관련 이미지
▲ winevdm - 64비트 Windows에서 16비트 Windows 프로그램 실행하기 관련 이미지 (AI 생성)

winevdm on 64-bit Windows

Download stable version

Download latest version (unstable)

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.

How to run

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.

Configuration

See otvdm.ini .

How to compile(Visual Studio)

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

CPU Emulator

64-bit Windows cannot modify LDT(NtSetInformationProcess(,ProcessLdtInformation,,) always returns error)

wine based Win16->Win32 conversion codes:

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.

WINDOWS directory redirection

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

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 .

[GeekNews 페이지 요약]

winevdm은 Windows 1.x, 2.x, 3.0, 3.1용 16비트 프로그램 을 64비트 Windows에서 실행할 수 있도록 이식한 에뮬레이터 CPU 에뮬레이터와 Wine 기반 Win16→Win32 변환 코드 를 결합하며, 16비트 핸들과 네이티브 핸들 사이의 변환도 처리함 실행 파일을 otvdm.exe 에 끌어 놓거나 otvdmw.exe 로 실행 할 수 있으며, 설치 후에는 Win16 실행 파일을 직접 실행할 수 있음 오래된 프로그램이 Windows 디렉터리에 설정 파일을 저장하려는 동작을 리디렉션 해, 최근 Windows의 쓰기 제한에 대응함 DOS 실행 파일도 지원하지만 에뮬레이션은 불완전 하며, DOS 프로그램에는 DOSBox 또는 MS-DOS Player