我们在使用各种光盘时,都会发现同一种现象:当我们把光盘放入光驱后,Windows便能自动地启动光盘上的某个程序,从而完成一个基于Windows平台设计的产品的配置、安装等操作;或者打开资源管理器,会发现光盘的图标已被改变成标志其产品之类的图标了。这的确让我们感觉到操作上的方便和快捷。其实,这是利用了Windows操作系统的“自动播放(AutoPlay)”功能。下面,笔者就对“自动播放”进行详细介绍,以期读者能打造自己需要的“自动播放”。
自动播放的工作原理
自动播放的原理很简单:当光盘被放入采用Windows操作系统的计算机光驱中时,系统会立即检测Windows的一个32位光驱驱动程序,然后搜寻光盘上根目录下一个叫Autorun.inf的配置文件,并自动运行这个Autorun.inf中设置的命令。显然,在整个过程中起着关键作用的便是这个Autorun.inf文件,我们所体验到的“自动”,事实上都是在这个文件里预先指定的。
解读Autorun.inf
Autorun.inf是一个文本形式的配置文件,我们可以用文本编辑软件进行编辑,它只能位于驱动器的根目录下。这个文件包含了需要自动运行的命令,如改变的驱动器图标、运行的程序文件、可选快捷菜单等内容。
Autorun.inf文件结构较简单,主要包含一个固定的段标识[Autorun]和自定的自动播放命令(Autoplay command)。定义好Autoplay command就可以实现自己的自动播放了。
改变驱动器图标命令: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命令。
(出处:http://www.sheup.com)