技术文栏 - 其它文档 - 电脑应用 - 浏览文章 - 解读Autorun.inf,打造自动
解读Autorun.inf,打造自动
http://17grow.com 2006-3-17 6:14:00
我们在使用各种光盘时,都会发现同一种现象:当我们把光盘放入光驱后,Windows便能自动地启动光盘上的某个程序,从而完成一个基于Windows平台设计的产品的配置、安装等操作;或者打开资源管理器,会发现光盘的图标已被改变成标志其产品之类的图标了。这的确让我们感觉到操作上的方便和快捷。其实,这是利用了Windows操作系统的“自动播放(AutoPlay)”功能。下面,笔者就对“自动播放”进行详细介绍,以期读者能打造自己需要的“自动播放”。
自动播放的工作原理

  自动播放的原理很简单:当光盘被放入采用Windows操作系统的计算机光驱中时,系统会立即检测Windows的一个32位光驱驱动程序,然后搜寻光盘上根目录下一个叫Autorun.inf的配置文件,并自动运行这个Autorun.inf中设置的命令。显然,在整个过程中起着关键作用的便是这个Autorun.inf文件,我们所体验到的“自动”,事实上都是在这个文件里预先指定的。

  解读Autorun.inf

  Autorun.inf是一个文本形式的配置文件,我们可以用文本编辑软件进行编辑,它只能位于驱动器的根目录下。这个文件包含了需要自动运行的命令,如改变的驱动器图标、运行的程序文件、可选快捷菜单等内容。

  Autorun.inf文件结构较简单,主要包含一个固定的段标识[Autorun]和自定的自动播放命令(Autoplay command)。定义好Autoplay command就可以实现自己的自动播放了。

  1. 改变驱动器图标命令:Defaulticon命令和Icon命令

  这两条命令都能改变光盘图标,功能相同。我们平时见到的光盘图标的改变就是用此命令来实现的。

  命令中都包含图标信息文件(iconname),可以指出该文件在光盘上的相对路径(path),在没有指出路径的情况下,Windows自动到光盘的根目录下搜寻图标信息文件。其命令格式为:

  Defaulticon=Path\Iconname

  或Icon=Path\Iconname

  Iconname可以是.ico、.bmp、.exe或 .dll文件。例如,要引用光盘根目录上Setup.ico作为光盘的图标,可这样表示:

  Defaulticon=Setup.ico

  或Icon=Setup.ico

  如果这个文件包含多个图标,可指定文件中的一个资源号(索引)来引用其中的不同图标。资源号由0、1、2……数字来标识,分别代表图标信息文件中的第一个图标、第二个图标……,它与图标信息文件间用逗号分隔。例如,在光盘autorun目录下有一个包含两个图标的autorun.exe文件,要引用其中的第二个图标作为光盘图标,可以这样表示:

  Defaulticon =Autorun\Autorun.exe, 1

  或Icon=Autorun\Autorun.exe, 1

  当你对这个图标感到不满意时,只要换一个资源号即可。

  需要说明的是,如果Defaulticon 和Icon命令同出现在一个Autorun.inf文件中,Autoplay使用Defaulticon命令而忽略Icon命令。


本地磁盘也玩儿自动播放

平时看惯了电脑那张呆板的脸的朋友,一定很希望能够DIY自己的爱机。通过修改注册表,我们可以更改许多系统默认的图标,但却发现很难更改驱动器的图标(Windows 2000以上系统),即使利用一些第三方软件(如超级兔子)修改,也只能是千篇一律地把所有分区的图标改为同一个图标。有没有想过给每个分区都设置一个不同的图标,并像光驱一样,具有“自动播放”功能?按照下面介绍的修改方法,我们完全可以让自己的电脑更酷一些(以下方法是以Windows 2000为例,Windows 2000以上系统都适合)。
  第1步 打开注册表编辑器,依次展开[HKEY_USERS\S-1-5-21-7905254

  78-1060284298-854245398-500\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints]分支(注意,这里的“S-1-5-21-790525478-1060284298-854245398-500”是系统的SID,每个系统的SID都不相同,要按照自己的SID打开。如果系统挂上了双硬盘,注册表中的“MountPoints”键值可能变为“MountPoints2”)。可以看到,MountPoints下的A、B、C、D等各项分别代表本地的各个驱动器。
  
  第2步 现在我要修改E分区的图标和打开的方式,以后双击E分区,系统就会自动打开指定的网页,从中选择需要的文件,改变以往枯燥的界面。由于自动运行的只能是程序,不能是网页,所以会编程的朋友可以简单地编写一个程序来打开指定的网页;不会编程的朋友可以借助一些现有的程序:

  随便找来一张可以自动播放,并且是以网页形式浏览的光盘。把光盘放入CD-ROM后,注册表就会读取光盘上Autorun.inf文件的内容。此时打开F项(代表光驱)下的“Shell\AutoRun\Command”,可以看到右侧窗口中字串值“默认”的键值为“F:\Shelexec.exe index.htm”(如果未能看到,可刷新注册表),表示光盘自动运行后通过“Shelexec.exe”这个程序来打开index.htm网页。

  第3步 复制CD-ROM上的Shelexec.exe文件到E分区,然后回到注册表编辑器中,在E项下新建一个子项“DefaultIcon”,把其默认值更改为你想要的图标的路径。这样,E分区的默认图标就修改好了。

  第4步 同样,在E项下新建一个子项“Shell”,把“Shell”的默认值改为“AutoRun”。“Shell”表示对E分区的操作命令,其默认值就是双击后运行的命令。再在“Shell”下新建一个“AutoRun”子项,将其默认值改为“自动播放”。再在“AutoRun”下新建一个“Command”子项,按照第2步提到的格式,把默认值改为“E:\Shelexec.exe E:\Heelen's Website\index.htm”。

  第5步 刷新注册表后,修改就生效了。以后双击E分区,取而代之的是自己的网页。

  提示:如果我们有一个分区是专门来存放音乐的,还可以为其创建一个象征性的图标,如像CD一样选择自动播放后,让指定的播放器来播放分区中的音乐。修改的方法和上面所说的大致相同,只是把“Command”子项的默认值直接改为播放器的路径即可。Windows 2000和Windows XP的CD图标存放在“%SystemRoot%\system32\SHELL32.dll40”中,

  第6步 上面所做的修改在“我的电脑”窗口中“刷新”或重新启动电脑后,都会被系统自动恢复。因此,应该在注册表编辑器中选中修改的注册表项,再选择“注册表→导出注册表文件”命令,在“导出范围”中选择“选定的分支”来保存我们已修改的数据。

  第7步 在桌面上新建一个批处理文件,用记事本编辑,输入“regedit.exe/s E:\RegEdit.reg”(E:\RegEdit.reg是导出的注册表文件的路径;/s是参数,表示导入注册表文件时不出现提示框)。保存后,把文件存放在“开始”菜单的“启动”组中,使其开机时自动启动。

  到此为止,我们就成功地为本地磁盘更改了个性化的图标,并且让它们具备了自动播放的功能。
1/1页次 第1页
所属分类: 其它文档 - 电脑应用   所属专题:
共有 3039 人次浏览 收藏本页 返回上一页 责任编辑:
相关文章