玩转Autorun.inf

简介:
我们已经知道可以利用Aurorun.inf来指定光盘自动加载的图标和运行的文件,其实Autorun.inf的用处可大了,下面就向大家详细介绍有关Autorun.inf的应用。 

   了解Autorun.inf 
   什么是Autorun.inf文件呢,严格的说它是一个必须存放在驱动器根目录下的有一定格式的文本文件,它是由一个或多个“节”组成,每个“节”民须以节名作为开始的一行,节名必须用中括号[]括起来,节名之下则为本节中的命令。 
   其中Autorun.inf一共支持三个节,它们分虽为[autorun]、[autorun.alpha]、[Deviceinstall],其中只有[autorun]是必须存在的。 

   实例应用 
   现在我们就来以实例的方式来详细了解Autorun.inf文件到底有哪些庆用。 
   (1)自动运行 
   自动运行在前文有所接触,即使用Open命令进行,要注意的是“Open=”指定的文件必须为可执行文件,例如com、exe、bat;如果指定的文件不在根目录下,则需要指定其路径,例如Open=soft.bat,这就表示运行光盘根目录下soft文件夹中的1.bat文件。 
   小提示:如果要运行的文件不是com、exe、bat,那么也没关系,我们可以手工编写一个bat文件,将要打开的文件所在路径和文件名添加在bat之中即可。 
   (2)自定义光盘图标 
   在Autorun节中,还有一个比较好玩的命令行,那就是icon,一般情况下指定的图标文件可以是ico和bmp格式,当然也可以是包含图标资源的exe和dll文件,如果exe和dll文件中包含多个图标文件,那么就必须指定希望使用的图标索引号,要注意的是图标索引号是从0开始编号的,例如“icon=icon.dll,1”,那么就表示将使用icon.dll文件中的第二个图标。 
   小提示:icon不仅可以应用在光盘上,我们也可以将该命令编写进autorun.inf文件放置在硬盘根目录自定义硬盘的图标。 
   (3)自定义卷标 
   虽然说光盘刻录软件中一般都可以设置光盘卷标,但是如果要批量刻录的话,那就会显的很麻烦,不如使用命令定义的快捷。 
   定义卷标是利用Label命令来完成的,它的语法和Open、Icon是一样的,在这里不再多述。 
   (4)添加右键菜单 
   当我们右击刻录的光盘时,经常会在右键菜单中发现一个自动播放的选项,其实这主要是利用Autorun.inf中的Open命令来实现的,其实我们还可以根据需要添加其它菜单命令。 
   添加其它菜单命令的格式是“Shell<菜单命令名>Command=<要执行的文件>”,例如我们编写了一个文件内容如下: 
  [autorun] 
  shell打开记事本command=notepad.exe 
   这样当我们将该文件刻录进光盘时,右击光盘时在弹出菜单中就会有一个“打开记事本”的命令了。 
   (5)改变缺省操作 
   一般情况下应用autorun.inf的光盘双击缺省操作大多是自动播放,即执行open后面的文件操作。其实我们也可以改变这种情况,而这同样是利用shell命令来完成。 
   我们先来看一个典型双击安装软件的示例: 
  [autorun] 
  shellsetupcommand=softsetup.exe 
  shell eadme=安装软件 
  shell=setup 
   要看懂这段语句,我们可以从下向上看,当我们双击光盘时,将调用最后一句Shell=setup,因为设置了该句,那么双击时将查找对应Shellsetupcommand后面指定的命令来作为默认操作,因此默认的操作将变成执行光盘根目录下的soft文件夹中的setup.exe文件。 

   在这里主要介绍的是autorun节内容的应用,而对于autorun.alpha来说我们很少用到,而Deviceinstall只能在Windows XP下使用,可以利用它指定硬件向导进行递归搜索的子目录。 

理论基础

  经常使用光盘的朋友都知道,有很多光盘放入光驱就会自动运行,它们是怎么做的呢?光盘一放入光驱就会自动被执行,主要依靠两个文件,一是光盘上的AutoRun.inf文件,另一个是操作系统本身的系统文件之一的Cdvsd.vxd。Cdvsd.vxd会随时侦测光驱中是否有放入光盘的动作,如果有的话,便开始寻找光盘根目录下的AutoRun.inf文件。如果存在AutoRun.inf文件则执行它里面的预设程序。

  AutoRun.inf不光能让光盘自动运行程序,也能让硬盘自动运行程序,方法很简单,先打开记事本,然后用鼠标右键点击该文件,在弹出菜单中选择“重命名”,将其改名为AutoRun.inf,在AutoRun.inf中键入以下内容:

  [AutoRun]    //表示AutoRun部分开始,必须输入
  Icon=C:\C.ico  //给C盘一个个性化的盘符图标C.ico
  Open=C:\1.exe  //指定要运行程序的路径和名称,在此为C盘下的1.exe

  保存该文件,按F5刷新桌面,再看“我的电脑”中的该盘符(在此为C盘),你会发现它的磁盘图标变了,双击进入C盘,还会自动播放C盘下的1.exe文件!

  解释一下:“[AutoRun]”行是必须的固定格式,“Icon”行对应的是图标文件,“C:\C.ico”为图标文件路径和文件名,你在输入时可以将它改为你的图片文件所在路径和文件名。另外,“.ico”为图标文件的扩展名,如果你手头上没有这类文件,可以用看图软件ACDSee将其他格式的软件转换为ico格式,或者找到一个后缀名为BMP的文件,将它直接改名为ICO文件即可。

  “Open”行指定要自动运行的文件及其盘符和路径。要特别说明的是,如果你要改变的硬盘跟目录下没有自动播放文件,就应该把“OPEN”行删掉,否则就会因为找不到自动播放文件而打不开硬盘,此时只能用鼠标右键单击盘符在弹出菜单中选“打开”才行.


本文转自深蓝居博客园博客,原文链接:http://www.cnblogs.com/studyzy/archive/2006/03/12/694118.html,如需转载请自行联系原作者

相关文章
|
Java 数据库
为什么WEB-INF目录是必须要有的?
为什么WEB-INF目录是必须要有的?
127 0
|
小程序 Java Apache
Jar包中的META-INF和MANIFEST.MF文件用途
Jar包中的META-INF和MANIFEST.MF文件用途
219 0
|
XML 数据格式
读取META-INF下的xml文件
读取META-INF下的xml文件
135 0
|
Android开发
DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
1125 0