如何测试程序 pi 16 位是否兼容?

Nat*_*pos 5 ms-dos dosbox 16-bit

我正在为用 Delphi 编写的soPDF创建一个 GUI ,但我想知道 soPDF 是否兼容 16 位,因为我需要在 MS-DOS 6.22 中运行它

另外,我可以用 DOSBox 做这个测试吗?

rob*_*rob 4

您可以在文本编辑器中打开 .exe,然后查看前两个字母来判断它是否与 16 位 DOS 兼容。根据维基百科文章,如果前两个字母是“MZ”或“NE”,则该程序是 16 位 DOS 兼容的。然而,这有点误导。它可能只能在 16 位模式下运行,足以告诉您“此程序无法在 DOS 模式下运行”。不幸的是,soPDF 就是这种情况(在记事本中打开它并亲自查看)。

安装Win32s可能是让它运行的唯一希望。但是,我不确定是否可以在 DOS 中运行 Win32,或者是否必须从 Windows 3.11 运行它。我也不确定 soPDF 是否有任何其他先决条件,即使在 Win32s 下也没有希望运行。

您应该能够在 DOSBox 中测试该程序。虽然我假设它只支持 16 位 DOS 应用程序,但我找不到明确的答案,因此设置 VMware、VirtualBox 或 VirtualPC DOS 安装(如 David 建议)可能是测试它的最简单、最可靠的方法。

如果不像在记事本中打开 .exe 那么简单,您可以使用DependencyWalker来查看 soPDF 是 32 位还是 64 位应用程序。

另外,如果我没记错的话,16 位应用程序在 WOW.EXE 或 WOW16.EXE(Windows On Windows)进程内运行,如果您尝试运行 16 位应用程序,您应该能够在任务管理器的“进程”选项卡下看到该进程。 32 位 WinNT/2k/XP 上的位应用程序。

Windows 64 位版本不包括 16 位兼容层,因此我想如果所有其他方法都失败,如果您的程序不在 64 位 Windows 安装上运行,您可以假设您的程序已损坏或为 16 位。

Win32s 仍然有机会帮助您,但我很怀疑,因为 doPDF 是在 2008 年编写的,距 16 位应用程序主流消亡已有十多年了。祝你好运,玩得开心......哦——别忘了使用你的 8.3 文件名!