夜夜秋雨孤灯
网站统计信息
点击查看统计信息:
广告位
日志 - 日历
2008 11.23 Sun
      1
2345678
9101112131415
16171819202122
23242526272829
30      
«» 2008 - 11 «»
用户公告
小不是成功,大不是成功,由小变大才是成功
搜索BLOG文章
博客基本信息
用户名: lauely
等级: 大学生
在线时间: 3901 分钟
日志总数: 291
评论数量: 130
访问次数: 346464
建立时间: 2006-02-17
最新访问

我的日志
解析autorun光盘2007-02-07
我们在使用各种光盘时,都会发现同一种现象:当我们把光盘放入光驱后,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:不同的播放器的参数加载方式可能会不同的。

原创文章如转载,请注明:转载自放飞心情 [ http://lauely.blog.zj.com/ ]
本文链接地址:http://lauely.blog.zj.com/blog/d-99855.html

相关文章
文章评论0条回复
给文章评分
评分: -5 -3 -1 - +1 +3 +5
我来说两句
认证码* 看不清,就点我! 输入四位字母或数字
(您还没有登录,登录发表)
粗体 斜体 下划线 插入url链接 飞行字 移动字