64비트 Windows에서 16비트 Windows(Windows 1.x, 2.x, 3.0, 3.1 등) 실행하기

2 hours ago 2

winevdm은 16비트 Windows 에뮬레이터를 수정해 64비트 Windows로 이식한 프로젝트로, Win16 실행 파일을 구동함 CPU 에뮬레이터와 Wine 기반 Win16→Win32 변환 코드를 결합하고, 16비트와 네이티브 HANDLE 사이의 변환을 처리함 설치 후에는 Win16 바이너리를 직접 실행할 수 있으며, Windows가 16비트 설치 프로그램 대신 대체 설치 프로그램을 실행하는 메커니즘을 활용함 일부 Win16 프로그램이 설정 파일을 저장하려는 %WINDIR% 경로를 리디렉션해, 최근 Windows의 해당 디렉터리 쓰기 제한에 대응함 DOS 실행 파일도 지원하지만 에뮬레이션은 불완전하며, DOS 용도로는 DOSBox 또는 MS-DOS Player 사용을 권장함 프로젝트와 실행 방식 winevdm은 Windows 1.x, 2.x, 3.0, 3.1 등의 16비트 Windows 프로그램을 64비트 Windows에서 실행하도록 수정한 에뮬레이터임 안정 버전과 최신 불안정 버전을 내려받을 수 있음 Win16 실행 파일을 otvdm.exe로 끌어 놓거나 otvdmw.exe를 실행해 구동할 수 있으며, 설치를 마치면 Win16 바이너리를 직접 실행할 수 있음 VCRUNTIME140.dll 누락 오류가 발생하면 Microsoft Visual C++ Redistributable for Visual Studio 2017 32비트 버전이 필요함 Windows Update로 레지스트리가 초기화되면 설치 절차를 다시 수행해야 함 설정 항목은 otvdm.ini에서 확인할 수 있음 내부 동작과 호환성 처리 CPU 에뮬레이터를 포함함. 64비트 Windows에서는 LDT를 수정할 수 없으며, NtSetInformationProcess의 ProcessLdtInformation 호출은 항상 오류를 반환함 Wine 기반 Win16→Win32 변환 코드로 16비트 호출을 처리함 예를 들어 DestroyWindow16은 WIN_Handle32로 핸들을 변환한 뒤 Win32의 DestroyWindow를 호출함 16비트에서 32비트로 넘어가는 중계 루틴은 convspec이 자동 생성함 Win16용 DOS 에뮬레이션과 16비트 ↔ 네이티브 HANDLE 변환을 포함하며, 호환성 문제를 수정함 install.inf는 64비트 Windows가 16비트 설치 프로그램을 감지했을 때, 16비트가 아닌 대체 설치 프로그램을 시작하는 메커니즘을 ...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵