Tuesday, January 30, 2007

Making an Autorun Disk

转载+整理

打开一些AUTO-Disk中的Autorun.inf,你会发现它的编写格式是:

[AutoRun]
open=……
icon=……

[AutoRun]是针对PC机(机型为386或更高)的自动运行识别标志。除此之外,还有针对其他几种计算机系统的识别标志,它们是:针对MIPS公司MIPS系统的[AutoRun.mips];针对DEC公司Alpha系统的[AutoRun.alpha];针对苹果公司Power PC机的[AutoRun.ppc]。不过,除非你想制作通用的自动运行光盘,否则用不到这些标识。

open一行是告诉操作系统要自动运行的文件名和它的启动全路径。比如,若想自动运行Autorun目录下的Run.exe文件,这一行就写成:
open=Autorun\Run.exe
注意,在目录名的左边不能有反斜线,否则计算机将按“C:\”处理,也就无法启动指定的程序了。icon一行是告诉操作系统该光盘以什么样的图标表示,如果你不想指定,这一行也可以不写。
图标的调用方法有三种:第一种是直接指向图标文件(.ico)。比如要想使用在Autorun目录下的一个图标文件Run.ico,调用格式与open一行相同,即:icon=Autorun\Run.ico
第二种调用方法就是指向带有图标的exe文件,只要是For Windows 9x/NT的exe文件都带有图标。而且,如果该文件带有多个图标还可以用编号进行挑选。比如所选的是Run.exe,它带有5个图标,其第一个也是默认图标的调用格式为:
icon=Autorun\Run.exe或icon=Autorun\Run.exe,0
若想调用第三个图标,格式为:
icon=Autorun\Run.exe,2
因为第一个图标的编号是0,所以第三个图标的编号就是2了。另外,在逗号的两 边都不能有空格,否则就调用默认的图标。而且,若调用的编号大于其最大编号,那光盘的图标就为空,什么也没有。可能有人会问,我怎么知道目标文件带有几个图标?不用着急,跟着我做:用鼠标右键点击任意一个带有图标的exe文件的“快捷方式”——在快捷菜单中选择“属性”——选择“快捷方式”——点击“更改图标…”——用“浏览…”的方式打开你选择的目标文件,现在你就能看到该文件到底有多少个图标了。
至于图标的排列顺序在Windows 95中是从左至右,在Windows 98中则是先上下后左右,不要数错哟。
第三种调用方式就是指向带有图标的DLL文件,也就是动态链接库文件,具体的格式与注意事项都与第二种方法相同,在此就不作介绍了。

到这儿还没有完。大家知道,在一些光盘放入后,我们在其图标上单击鼠标右键,还会产生一个具有特色的目录菜单,如果能对着我们的硬盘点击鼠标右键也产生这样的效果,那将更加的有特色。其实,光盘能有这样的效果也仅仅是因为在AutoRun.inf文件中有如下两条语句:
shell\标志=显示的鼠标右键菜单中内容
shell\标志\command=要执行的文件或命令行
所以,要让硬盘具有特色的目录菜单,在AutoRun.inf文件中加入上述语句即可,示例如下:
shell\1=天若有情天亦老
shell\1\command\=notepad ok.txt
保存完毕,按F5键刷新,然后用鼠标右键单击硬盘图标,在弹出菜单中会发现“天若有情天亦老”,点击它,会自动打开硬盘中的“ok.txt”文件。注意:上面示例假设“ok.txt”文件在硬盘根目录下,notepad为系统自带的记事本程序。如果要执行的文件为直接可执行程序,则在“command\”后直接添加该执行程序文件名即可。
还有一选项是shellexcute,后面跟插入disk后自动运行的程序路径名称,不需要点击

至此,一个完整的Autorun.inf文件就编辑完成了,结合你需要烧录的内容,在确认调用路径无误后,就可以开始烧录了。此时唯一要注意的就是Autorun.inf文件必须放在光盘的根目录下,否则Windows无法找到它,也就不能自动运行了。

下面贴个常见的U盘病毒生成的autorun.inf示例:
[autorun]
open=.\RECYCLER\RECYCLER.exe
shell\1=打开(&O)
shell\1\Command=.\RECYCLER\RECYCLER.exe
shell\2\=浏览(&B)
shell\2\Command=.\RECYCLER\RECYCLER.exe
shellexecute=.\RECYCLER\RECYCLER.exe

最后是一些说明:
说明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文件。 
在windows xp使用过程中,在默认情况下,一旦将可移动磁盘接入电脑(将光盘插入光驱,或者接插上U盘、移动硬盘时)Windows XP的自动播放功能就读取驱动器,完成后同时显示一个对话框,要求你选择是否打开其中的视频、音频、图片文件。这项自动功能可能是你不需要的。如果你想关闭的话,可以使用这样的办法:
  一、为可移动设备设置属性。
  关闭单个移动存储设备的“自动播放”功能,可以通过移动存储设备的属性页来直接关闭着项功能。(这要求该移动存储设备已经存在于计算机上。)
  1、在我的电脑或者资源管理器中右键单击需要关闭自动播放功能的移动存储设备。选择属性。
  2、在打开的窗口中单击“自动播放”选项卡,在操作框中,选定“选择一个操作来执行”前的单选框,然后选中“不执行操作”。最后“确定”。
  这样该设备就不会再自动打开文件夹了。
  二、使用组策略一次性全部关闭windows xp的自动播放功能:
  如果你想一次全部禁用Windows XP的自动播放功能,可以使用组策略。
  1、点击“开始”选择“运行”,键入“gpedit.msc”,并运行,打开“组策略”窗口;
  2、在左栏的“本地计算机策略”下,打开“计算机配置_管理模板_系统”,然后在右栏的“设置”标题下,双击“关闭自动播放”;
  3、选择“设置”选项卡,勾取“已启用”复选钮,然后在“关闭自动播放”框中选择“所有驱动器”,单击“确定”按钮,退出“组策略”窗口。
  在“用户配置”中同样也可以定制这个“关闭自动播放”。但“计算机配置”中的设置比“用户配置”中的设置范围更广。有助于多个用户都使用这样的设置。
  提醒:“关闭自动播放”设置是只能使系统不再列出光盘和移动存储的目录,并不能够阻止自动播放音乐CD盘。要阻止音乐CD的自动播放,你就只有更改移动设备的属性了。

No comments:

Post a Comment