纯DOS系统如何开机自动运行某程序?

纯DOS系统如何开机自动运行某程序?,第1张

一、经典的启动——“启动”文件夹

单击“开始→程序”,你会发现一个“启动”菜单,这就是最经典的Windows启动位置,右击“启动”菜单选择“打开”即可将其打开,其中的程序和快捷方式都会在系统启动时自动运行。

二、有名的启动——注册表启动项

注册表是启动程序藏身之处最多的地方,主要有以下几项:

1.Run键

Run键是病毒最青睐的自启动之所,该键位置是[HKEY_CURRENT_

USER\Software\Microsoft\Windows\CurrentVersion\Run]和[HKEY_

LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run],其下的所有程序在每次启动登录时都会按顺序自动执行。

还有一个不被注意的Run键,位于注册表[HKEY_CURRENT_

USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\

Policies\Explorer\Run],也要仔细查看。

2.RunOnce键

RunOnce位于[HKEY_CURRENT_USER\Software\Microsoft\Windows\

CurrentVersion\RunOnce]和[HKEY_LOCAL_MACHINE\Software\Microsoft\

Windows\CurrentVersion\RunOnce]键,与Run不同的是,RunOnce下的程序仅会被自动执行一次。

3.RunServicesOnce键

RunServicesOnce键位于[HKEY_CURRENT_USER\Software\Microsoft\

Windows\CurrentVersion\RunServicesOnce]和[HKEY_LOCAL_MACHINE\

Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]下,其中的程序会在系统加载时自动启动执行一次。

4.RunServices键

RunServices继RunServicesOnce之后启动的程序,位于注册表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\

RunServices]键。

5.RunOnceEx键

该键是Windows XP/2003特有的自启动注册表项,位于[HKEY_

CURRENT_USER\\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx]。

6.load键

[HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows]下的load键值的程序也可以自启动。

7.Winlogon键

该键位于位于注册表[HKEY_CURRENT_USER\SOFTWARE\

Microsoft\Windows NT\CurrentVersion\Winlogon]和[HKEY_LOCAL_MACHINE\

SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon],注意下面的Notify、Userinit、Shell键值也会有自启动的程序,而且其键值可以用逗号分隔,从而实现登录的时候启动多个程序。

8.其他注册表位置

还有一些其他键值,经常会有一些程序在这里自动运行,如:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad]

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts]

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System\Scripts]

小提示:

注册表的[HKEY_LOCAL_MACHINE]和[HKEY_CURRENT_USER]键的区别:前者对所有用户有效,后者只对当前用户有效。

三、古老的启动——自动批处理文件

从DOS时代过来的朋友肯定知道autoexec.bat(位于系统盘根目录)这个自动批处理文件,它会在电脑启动时自动运行,早期许多病毒就看中了它,使用deltree、format等危险命令来破坏硬盘数据。如“C盘杀手”就是用一句“deltree /y c:\*.*”命令,让电脑一启动就自动删除C盘所有文件,害人无数。

小提示

★在Windows 98中,Autoexec.bat还有一个哥们——Winstart.bat文件,winstart.bat位于Windows文件夹,也会在启动时自动执行。

★在Windows Me/2000/XP中,上述两个批处理文件默认都不会被执行。

四、常用的启动——系统配置文件

在Windows的配置文件(包括Win.ini、System.ini和wininit.ini文件)也会加载一些自动运行的程序。

1.Win.ini文件

使用“记事本”打开Win.ini文件,在[windows]段下的“Run=”和“LOAD=”语句后面就可以直接加可执行程序,只要程序名称及路径写在“=”后面即可。

小提示

“load=”后面的程序在自启动后最小化运行,而“run=”后程序则会正常运行。

2.System.ini文件

使用“记事本”打开System.ini文件,找到[boot]段下“shell=”语句,该语句默认为“shell=Explorer.exe”,启动的时候运行Windows外壳程序explorer.exe。病毒可不客气,如“妖之吻”病毒干脆把它改成“shell=c:\yzw.exe”,如果你强行删除“妖之吻”病毒程序yzw.exe,Windows就会提示报错,让你重装Windows,吓人不?也有客气一点的病毒,如将该句变成“shell=Explorer.exe 其他程序名”,看到这样的情况,后面的其他程序名一定是病毒程序如图2所示。

3.wininit.ini

wininit.ini文件是很容易被许多电脑用户忽视的系统配置文件,因为该文件在Windows启动时自动执后会被自动删除,这就是说该文件中的命令只会自动执行一次。该配置文件主要由软件的安装程序生成,对那些在Windows图形界面启动后就不能进行删除、更新和重命名的文件进行 *** 作。若其被病毒写上危险命令,那么后果与“C盘杀手”无异。

小提示

★如果不知道它们存放的位置,按F3键打开“搜索”对话框进行搜索;

★单击“开始→运行”,输入sysedit回车,打开“系统配置编辑程序”,在这里也可以方便的对上述文件进行查看与修改。

五、智能的启动——开/关机/登录/注销脚本

在Windows 2000/XP中,单击“开始→运行”,输入gpedit.msc回车可以打开“组策略编辑器”,在左侧窗格展开“本地计算机策略→用户配置→管理模板→系统→登录”,然后在右窗格中双击“在用户登录时运行这些程序”,单击“显示”按钮,在“登录时运行的项目”下就显示了自启动的程序。

六、定时的启动——任务计划

在默认情况下,“任务计划”程序随Windows一起启动并在后台运行。如果把某个程序添加到计划任务文件夹,并将计划任务设置为“系统启动时”或“登录时”,这样也可以实现程序自启动。通过“计划任务”加载的程序一般会在任务栏系统托盘区里有它们的图标。大家也可以双击“控制面板”中的“计划任务”图标查看其中的项目。

小提示

“任务计划”也是一个特殊的系统文件夹,单击“开始→程序→附件→系统工具→任务计划”即可打开该文件夹,从而方便进行查看和管理。

分类: 电脑/网络 >> *** 作系统/系统故障

问题描述:

我下载了一些游戏 要在DOS 环境下 才能运行 问 怎么才能在DOS环境下启动 游戏 最好说详细点 高深的不要 怎么简单怎么说 谢谢

解析:

适合玩dos游戏的 *** 作系统

dos5.0、dos6.0 (比较稳定的dos旧版,默认目录c:dos)

dos6.22 (纯dos的最终版本,默认目录c:dos)

dos7.0 (win95,win98附带的dos,默认目录c:window *** and)

另外winxp,winnt和win2000都有自己的Dos mand prompt,但是不能作为启动系统,如果你的机器只有这几个系统,那很遗憾,你玩不了dos游戏。

启动和加载

旧版dos(dos6.22以前的版本)启动后会加载msdos.sys、io.sys和mand系统文件,缺一不可。然后加载config.sys和autoexec.bat中的管理程序,这2个文件如果缺省,那你几乎寸步难行,只能 *** 作最基本的dos命令。

新版dos(win95/win98附带的dos7.0)启动以后加载io.sys和mand系统文件,msdos.sys只是作为一个开机配置文件。config.sys和autoexec.bat基本是个空文件,因为系统默认加载了emm386,himem,dos,files等重要配置。

内存常识

内存有基本内存(base memory,640K),高端内存(upper memory,384K),扩充内存(expand memory,用户的物理内存总数)等类型。

一般dos游戏启动都是放在基本内存(base memory),因为只有640K,而其他常驻程序都是放在这里,所以通常提示不够内存都是因为使用者没有加载高端内存,调离其他程序的存放位置,它们占用了游戏程序空间,导致游戏出现"not enough memory"的提示。

高端内存(upper memory)一般游戏程序用不上,那么把一些常驻的程序,例如mouse,mscdex,doskey,gb等放到里面,就可以腾出很多空间给基本内存。

扩展内存(expand memory)不用于游戏的启动,而是处理交换游戏中的大量数据,和游戏启动无关,有时候游戏半途退出,可能就是扩充内存不够。

dos游戏最致命的瓶颈就是内存。它不同windows系统那样智能管理内存,所有设置都要自己慢慢调试,而且早期的游戏设计只能用高端内存和基本内存,就算你的扩充内存有128M也是没用的--程序设计本身就不用它们。

config.sys文件的编写

这开机系统文件可以编辑,最常用就是用dos自带的edit命令。如果你的path(该命令后面再解释)没有指错地方,那个你在c:下面运行 “edit config.sys”就可以编辑这个文件,同理可以编辑autoexec.bat。

config.sys文件管理dos系统的内存,常用的加载内存管理语句:

DEVICE(加载管理程序)

DEVICEhigh(加载到高端内存)

dos(系统文件的位置)

files(打开文件数量)

buffers(缓冲区数量)

lastdrive(最后盘符)

shell(解释命令的位置)

rem (注释)

例子解释:

1, DEVICE=C:dosHIMEM.SYS /testmem:off

这个语句非常重要,加载高端内存管理,使dos能使用高端内存,如果你的机器慢,可以加/testmem:off跳过内存检测

2,DEVICEhigh=C:dosEMM386.EXE ram

在高端内存中加载emm386,emm386.exe是用来管理扩充内存的,这个语句也很重要。常用的参数为 ram 和 noems,解释为使用扩充内存和使用扩展内存。noems 比 ram 能释放更多的基本内存 ,但是这个noems语句很多程序不使用,所以使用面很窄。

3,dos=high,umb

这个语句很重要,把msdos.sys、io.sys和mand系统文件放到高端内存中。

4,files=30

同时打开的最大文件数量,一些游戏需要同时打开很多个数据流,如果这个语句没有设定,其默认值是10,游戏可能会出错。

5,buffers=20,8

设定缓冲区数量以及高速缓冲区数量,用于加速文件读取速度。

6,lastdrive=z

指定最后一个硬盘盘符为z,就是说,你可以使用到z:这些盘符,即使你没有这么多的分区,你可以通过subst,fcd,ramdrive,img等手段虚拟一些硬盘分区出来。如果不加载这个语句,上述命令就不会起效。

7,shell=c:do *** and

这个命令默认存在,一般不用加载。作用为指定dos的解释命令,一般默认就是c:do *** and,如果你需要日文dos或者使用其他的解释命令,例如4dos、ndos,就需要指定一个shell。

8,rem this is a sample

rem为注释语句,后面无论你写什么东西dos都不理睬,常用于屏蔽一些暂时不用的语句,例如你暂时不需要加载shell=c:do *** and, 只需 rem shell=c:do *** and ,dos就会跳过该行不予执行。同理运用于autoexec.bat

总结dos游戏通常需要的config配置:

DEVICE=C:dosHIMEM.SYS

DEVICE=C:dosEMM386.EXE ram (或者DEVICE=C:dosEMM386.EXE noems)

dos=high,umb

files=30

如果还需要光驱来玩,可能还需要加载光驱启动程序,例如 DEVICE=c:cdromVIDE-CDD.SYS /D:MSCD001 ,这个通常由安装程序完成。如果还需要声卡来玩,可能还需要加载声卡启动程序,例如 DEVICE=c:sound *** cd.SYS,这个通常由安装程序完成。

注意:本文提到的c:dos是默认的dos目录,如果你的是win98的dos7.0,放在d盘,那么himem.sys和emm386.exe在d:windows里面。而其他的dos文件在d:window *** and里面。如果找不到dos放在哪里,在根目录下,例如c:,运行“dir himem.sys/s”命令来找。

autoexec.bat的编写

autoexec.bat管理dos系统的常驻程序,里面的语句其实可以一步一步手动运行,只不过每次开机都要一定运行的程序,可以通过这个文件来实现自动运行。常用的语句:

PATH (指定路径)

SET (设定变量)

prompt (命令提示)

lh (加载程序到高端内存)

MSCDEX (cd驱动程序)

*** artdrv (硬盘加速程序)

rem (注释)

例子解释:

1,PATH=c:WINDOWSC:WINDOWSCOMMANDd:DOSd: ools

指定mand的运行范围,方便调用程序,假设你处于e:game目录,那么你也可以直接运行处于c:dos里面的format语句。如果你不指定path,你必须在c:dos目录里面才可以运行这个命令。

2,prompt $p$g

命令行提示你处在的位置,例如c:dos,e:fpe,f:gamesan2等,如果不加载这个命令,那么无论你在什么目录,都是盘符,如c:,e:,f:。这个prompt还有很多提示,详细自己研究。

3,lh C:do *** ouse

在高端内存加载鼠标驱动程序mouse,很多dos游戏需要鼠标支持,如果你不加载鼠标驱动语句,那么无法使用鼠标。

4,doskey

加载后可以记录你的键盘历史命令,可以不必重复输入使用过的繁琐命令,用上下箭头来选择历史记录。

5,set命令,设定环境变量,有很多种语句,例如

set temp=f: emp

指定DOS的临时目录在f: emp,前提是你有f盘,而且有temp这个目录存在,dos默认的temp目录在c:dos,但是我建议使用一个空的目录。因为dos使用时间一长,就会有很多垃圾,和windows系统一样,都会放在temp目录里面,只要里面有文件,都是垃圾,可以删除。而默认的dos目录里面有很多系统文件,不熟悉的人可能分辨不出哪个是垃圾,哪个是系统文件。

set tmp=f: emp

指定windows临时目录在f: emp,其他说明同上。

SET BLASTER=A240 I10 D3 H7 P330 T6

设定声卡的变量,例如音量、通道、端口等,由安装程序设定。

set path=c:dos

简化为 path= ,参考上面

set dircmd=$1/og/p

设定dir的变量

6, lh C:WINDOWSCOMMANDMSCDEX.EXE /s /D:MSCD001 /V /m:20

在高端内存加载cd驱动程序,这个通常由安装程序完成。

7, c:dos *** artdrv c+ d+ e+

启动硬盘/光盘加速程序,使读盘存盘加速,c+ d+ e+等为指定c: d: e:盘提供高速缓存。

总结dos游戏通常需要的autoexec配置:

PATH C:WINDOWSC:WINDOWSCOMMANDc:DOS

prompt $p$g

lh C:WINDOWSCOMMANDdoskey

lh c:window *** andmouse

set变量看具体情况而定

如果还需要声卡来玩,可能还需要加载声卡启动程序,例如 C:PROGRA~1CREATIVESBLIVEDOSDRVSBEINIT.COM,这个通常由安装程序完成。

注意:本文提到的c:window *** and是dos7.0默认的dos目录,如果你的是dos6.0,放在d盘,那么dos文件在d:dos里面。mouse文件不是dos默认配置的文件,你需要通过其他渠道获得。

通过这2个文件的配置,每次启动完毕你可以通过mem命令来检查你的基本内存是否够大,用法 mem/c/p,查看base memory一栏,一般来说,有550K就足够运行大多数的dos游戏,如果不够,就释放一些次要的常驻程序,例如doskey等,重新启动,慢慢调试...(dos就是这么烦)

其他游戏问题

有些程序需要特殊的是显示卡程序支持,例如dos4gw,ega,svga等等,有些需要大量的显存才能玩起来。现在的显卡基本上不存在显存不够问题了,但是有可能先进的显卡淘汰了旧的显示模式,而这些模式刚刚好被某个游戏用上了,除非你换一个旧的显卡,要么就不玩这个游戏。例如三国志5,很多先进的pc都玩不了这个游戏,原因就是显卡模式和声卡模式都太旧了,新显卡实现不了。所以包括本人在内也无法重温。还有三国演义1代,有些显卡玩起来会周期性的黑屏,那也是冲突问题。

如果该程序需要声卡支持,那么你需要安装dos的声卡驱动程序;一些游戏附带通用声卡安装程序,一般来说你选择sound blaster系列的就可以了。某些主板合成的声卡它只提供win的驱动,而没有dos驱动,你可能玩游戏的时候无法有音乐。

如果游戏需要用到光驱,那么你要安装光驱驱动程序,如果找不到适合的光驱驱动程序,你可以用win98附带的万能光驱驱动程序,在制作安装盘的时候就有。 如果是光盘版的游戏,你可以用fakecd(cdx)来虚拟一个光盘,例如:先把游戏解压到一个目录中,如d:sanguo,之后运行 cdx d:sanguo /L:z(指定z盘虚拟为sanguo的光盘)即可。 详细说明请看cdx/?里面的说明

如果游戏需要鼠标支持,你需要安装mouse驱动,一般常用的有mouse,qmouse,gmouse,mmouse等。

如果游戏速度过快,可以用fpe等游戏变速软件来调节。旧游戏设计时候的电脑时钟频率远远慢于现在的P4,很多旧dos游戏都是快得惊人,如果不减速,那很多东西都玩不了,你根本不是电脑的对手。

相关的dos游戏软件

gb5 ,gamebuster 5.0 ,游戏克星,早期的游戏修改软件,有模糊查询功能,可以存游戏进度,可以调整游戏速度。缺点就是不支持例如koei的图形dos4gw界面系统。按2次TAB键激活界面, *** 作起来不方便,输入需要转换成16进制。

fpe,整人专家,比gb优秀,支持dos4gw界面,支持模糊查询(这个功能在win版就取消了,可惜),不可以存进度,按*激活界面,支持10进制输入。速度比gb快很多,推荐使用。

getcap, 游戏抓图,按shift抓图,存盘成gif格式,比较好用。缺点就是不太通用,一些特殊界面系统的游戏无法抓图。

diskedit, Norton Utilities的文件修改工具,可以修改游戏存档,具体用法不详述。

补充:

一,关于游戏克星GB,我觉得它也有比FPE好的地方,主要有两个功能是FPE没有的:

1,它可以保存当前内存的映像,这个功能主要可以用于在一些没有储存进度功能的游戏中储存进度,另外这个功能还可以用来保存一些开始 时要输入密码表等的游戏,这样不用每次去翻密码表。这个功能甚至不局限于游戏,以前一些DOS下的一些要读加密盘的应用软件,可以用 GB在读完加密盘后把内存映像保存,这样以后就不用读盘了,但它的局限是DOS启动的配置要一样,不一样的话就不成功。

2,GB有跟踪功能,在找到了血或生命值在内存的位置之后,GB可以跟踪监视这个地址,一旦程序修改这个地址,GB会自动d出菜单并把当 前修改被监视内存地址的那几条指令的机器码用红色显示。然后可以自动取消这几条指令,这样你的游戏就是无敌版的了。另外如果你把红 色显示的几条机器码指令(最好是连旁边的几个机器码也记下来)记录下来,然后在DOS下用PCTOOLS之类的工具找到并修改游戏程序中该指 令,还可以制作出可以脱离GB自己运行的无敌版游戏,这个功能也很实用。

二,关于游戏工具,还有一个很好的工具不应该错过,就是GAMETOOL,其实说它是游戏工具真的是有点大材小用了,它在DOS时代几乎可 以和SOFTICE相媲美,它有功能强大的内置DEBUGER,用来跟踪和破解应用软件都绰绰有余,游戏就更不在话下了。就算这样, GAMETOOL的修改游戏功能也很强大和方便,它既可以当成FPE来使用而且方便性不比FPE差,也可以当成SOFTICE之类的高级调试工具来使 用,是一个既适合又适合入门者的工具。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7747427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存