canhui87 2008-4-19 13:42
让Windows XP拥有纯DOS,使用16位的程序
发现网上发表的盗抄版都把主要参数separate写成"seperate"
Windows XP美中不足的是,对于一些还需要使用DOS程序的人来说,Windows XP 的程序兼容功能对大多“上了岁数”的程序,仍不能很好的支持,有些甚至根本就运行不了,这多少是个遗憾。其实,Windows XP在程序的兼容问题上不只是提供个兼容向导就完事了,它还有另一个武器,就是用start命令来执行以前的16位的程序。比如,Turbo C 2.0(TC)现在仍是不少学校用来上C语言课的软件,在Windows XP中,我们却遗憾地发现它不能运行,在Windows XP提供的像过去Win9X中的MS-DOS方式的现在叫命令解释符的东西中运行的话,我们发现运行的结果是花屏。其实,我们应该用start命令来运行TC。在命令解释符(dos)中输入:start/separate d:\Tc2\tc.exe即可。按Alt+Enter就可以在全屏幕与窗口中进行切换。
关于start的用法有很多,其中主要用到的参数为separate。这是在单独的内存空间启动16位程序,而用参数shared则是在共享的内存空间启动 16位程序。其实,用start命令可以启动任意的程序,只要是存在的。比如你要启动 Notepad(记事本程序),而又在附件中找不到的话,在开始的运行菜单中键入start notepad, Windows XP就会打开记事本。
附:另外的2个方法
利用Win98
在我们安装Win XP操作系统前,先用Windows 98启动盘启动系统,并通过sys c:命令向c盘传送系统。并将常用的DOS命令拷贝到硬盘中,然后按常规方法安装XP,当安装成功后,在启动菜单的默认菜单"Microsoft Windows XP"下会新增一个“Microsoft Windows”菜单项,选中此菜单项后,由于系统中没有安装Windows98系统,所以此时计算机就会自动转到DOS系统下,而且还是实模式的,这样就达到了我们的目的。
利用工具软件
我们还可以使用一个小工具pqvf.exe来达到目的,该软件下载的地址是61.234.226.248/pqvf.exe。该软件是部分网友分析了PQ Magic的相关文件,并提取了部分文件制作的软件,可以让那些Windows XP用户迅速引导到纯DOS下,重新启动后又可以正常使用Windows XP启动。
下载后的pqvf.exe文件是一个自解压程序,解压后的文件名字和作用如下:MBR.dat和restrmbr.exe这两个文件的主要作用是用来恢复硬盘的主引导记录的,作用与执行FDISK/mbr命令一样,可以清除主引导扇区而不改变分区表结构。Vfinst9x.exe用于在Windows 9x下启动纯DOS界面,VfinstNT.exe用于在Windows XP下启动纯DOS界面。pqvf.vfd中则包含有启动的软磁盘映像文件。
具体方法是:直接运行VfinstNT.exe,vfinstNT.exe文件,它们会修改硬盘主引导记录,然后Windows XP会自动重新启动,重启动后你看到的盘符将是A:。敲入ver命令可以查看当前的DOS版本,显示的是“Windows 98(version 4.10.2222)”,看来已是纯DOS了!而且像himem.sys.emm386.exe、光驱驱动和鼠标驱动程序这样的必备驱动也安装了,并且还自动装上一个简单的汉字系统,完全可以应付一般的DOS应用了。如果想回到Windows XP界面,只要重新启动计算机就可以了。
whislter 2008-4-22 21:48
关于用start的方法我觉得毫无意义。
首先,按楼主说的,用separate参数调用start其实仅仅是在创建进程时在调用CreateProcess() 时给fdwCreate传递了CREATE_SEPARATE_WOW_VDM,WIN XP在默认情况(换句话说就是你可以通过注册表改变这个默认值)下在一个VDM中运行所有的16位windows程序,但是这个特点仅仅影响当单个16位windows程序崩溃时是否影响其它16位程序。
再者,XP下怎么可能让你的程序在纯DOS下运行,ntvdm的支持必定是有限制的,不然系统还有什么安全可言?