有时候我们需要制作CD,并且希望它能够Autorun, 以下我就来介绍一个全免费的制作CD的工具(InfraRecorder),并且讲述一下AUTORUN.inf怎么写。
首先,你要准备好制作CD需要的全部文件,一般一个简单的Autorun CD包括以下几个文件:
1、需要Autorun的文件。EXE、BAT以及任何可以打开的文件都可以。
2、一个AUTORUN.inf文件,OS会有一个常驻程序监测任何热插拔设备,比如CD。OS检测到该设备后会检测设备里的文件是否存在AUTORUN.inf文件。如果有,则会执行AUTORUN.inf里面的内容。
3、其它的资源文件,比如ICON。
一个AUTORUN.inf文件具有一定的语法:
其结构有三个部分:[AutoRun] [AutoRun.Alpha] [DeviceInstall]
[AutoRun]适用于Windows95以上系统与32位以上CD-ROM,必选。
[AutoRun.alpha]适用于基于RISC的计算机光驱,适用系统为Windows NT 4.0,可选。
[DeviceInstall]适用于Windows XP以上系统,可选。
我只摘录了百度百科有关AutoRun部分的内容,一个AutoRun.inf具备了AutoRun部分也足以实现AutoRun了。
[AutoRun] //表示AutoRun部分开始
Icon=X:\“图标”.ico //给X盘一个图标
Open=X:\“程序”.exe或者“命令行” //双击X盘执行的程序或命令
shell\“关键字”=“鼠标右键菜单中加入显示的内容” //右键菜单新增选项
shell\“关键字”\command=“要执行的文件或命令行”//选中右键菜单新增选项执行的程序或者命令
AutoRun部分命令及其详解
1、DefaultIcon
含义:指定应用程序的默认图标。格式:
DefaultIcon=图标路径名[,序号]
参数:
图标文件名:应用程序的默认图标路径名,格式可以为.ico、.bmp、.exe、.dll。当文件格式为.exe和.dll时,有时需要使用序号来指定图标。
序号:当文件格式为.exe和.dll时,文件可能包括多余一个图标,此时需要使用序号来指定图标,需要注意的是,序号是从0开始的。
备注:
应用程序的默认图标将在windows explorer核心的驱动显示窗口中替代设备的默认图标来显示。
图标路径名的默认目录是设备根目录。
2、Icon
含义:指定设备显示图标。格式:
Icon=图标路径名[,序号]
参数:
图标文件名:应用程序的默认图标路径名,格式可以为.ico、.bmp、.exe、.dll。当文件格式为.exe和.dll时,有时需要使用序号来指定图标。
序号:当文件格式为.exe和.dll时,文件可能包括多余一个图标,此时需要使用序号来指定图标,需要注意的是,序号是从0开始的。
备注:
设备显示图标将在windows explorer核心的驱动显示窗口中替代设备的默认图标来显示。
图标路径名的默认目录是设备根目录。
当存在应用程序默认图标(DefaultIcon)时,本命令无效。
3、Label
含义:指定设备描述格式:
Label=描述
参数:
描述:任意文字,可以包括空格。
备注:
设备描述将在windows explorer核心的驱动显示窗口中替代设备的默认描述卷标来显示。
在非windows explorer核心的驱动显示窗口中(例如右击设备选择属性)显示的仍然是设备的卷标。
4、Open
含义:指定设备启用时运行之命令行。格式:
Open=命令行
(命令行:程序路径名 [参数])
参数:
命令行:自动运行的命令行,必须是.exe、.com、.bat文件,其他格式文件可以使用start.exe打开或使用ShellExecute命令。
备注:
5、ShellExecute
含义:指定设备启用时执行文件。(操作系统支持未知)
格式:
ShellExecute=执行文件路径名 [参数]
参数:
执行文件路径名:设备启用时执行文件路径名。可以是任意格式文件。系统会调用设置的程序执行此文件。
参数:参数,根据执行文件作调整
备注:
命令行的起始目录是设备根目录和系统的$Path环境变量。
6、Shell\关键字\Command
含义:定义设备右键菜单执行命令行。
格式:
Shell\关键字\Command=命令行
(命令行:程序路径名 [参数])
参数:
命令行:自动运行的命令行,必须是.exe、.com、.bat文件,其他格式文件可以使用start.exe打开。
备注:
命令行的起始目录是设备根目录和系统的$Path环境变量。
7、Shell\关键字
含义:定义设备右键菜单文本。格式:
Shell\关键字=文本
参数:
关键字:用以标记菜单,可以使用任何字符表示,包括空格。
文本:在右键菜单中显示的文本。可以使用任何字符,不能存在空格。
备注:
在同一Autorun.inf文件中,不同右键菜单关键字不同,相同右键菜单关键字相同。
右键菜单文本中可以使用&;设定加速键,&&;输出一个&。
Shell关键字Command命令Shell关键字两者缺一不可,顺序无所谓。
当不存在Open、ShellExecute与Shell命令时,设备启用时运行第一个设备右键菜单指定命令。
8、Shell
含义:定义设备启用时运行之设备右键命令。格式:
Shell=关键字
参数:
关键字:标记过的菜单关键字
备注:
Shell指定的关键字可以在AutoRun.inf文件的任意部分。
Open、ShellExecute、Shell命令后定义的优先级高。
9.action
这个命令用来定义程序的名字,比方说:[autorun]
shellexecute=rundll32 ght
action=打开文件夹
那么在右键菜单显示的就是"打开文件夹",而执行的命令就是"rundll32 ght"
10.注释
与其他inf文件一样,";"之后的内容会被当做注释,不参与编译.然后,你需要去官网下载一个InfraRecorder,官网地址为:http://infrarecorder.org/
下载安装完全后,启动程序。
点击Data Disc制作一个Data CD。
如上图,上部分是从本地文件系统中选择文件,下部分是被选中的文件在CD中的结构。
下右为CD的显示名称,可以进行修改,但是名称不宜过长,否则显示时会被截断,最长大概20个字符左右。
在Actions下可以选择是直接Burn到一个可写的CD,还是制作一个ISO。
如下是我RUTORUN.inf的内容:
1: [AutoRun]
2: OPEN=XXXX.exe //如果OPEN的对象为MSI,则使用shellexecute=XXXX.msi
3: ICON=YYYY.ico