发信人: cybercowboy(	) 
整理人: koment(2002-06-01 23:41:16), 站内信件
 | 
 
 
先来简单介绍一下有关AUTORUN.INF的内容。
 
 大家都知道,在WINDOWS中,如果光盘根目录中有AUTORUN.INF文件,并且光驱的自动执行没有被关闭,那么放进光盘后就会自动执行AUTORUN.INF中指定的命令。同样地如果在硬盘分区放置AUTORUN.INF,那么在双击该分区时,也会执行AUTORUN.INF中所指定的命令。在AUTORUN.INF中指定的命令,一般是一个可执行文件,另外也可以指定一个图标。AURORUN.INF的内容一般是这样的:
 
 [AUTORUN]
 OPEN=NOTEPAD.EXE README.TXT
 ICON=MYICON.ICO
 
 其中OPEN=这一句,指定当自动执行时(如放进光盘时,或硬盘分区被双击时)要执行的指令,一般是一个可执行文件,可带参数。例如上例中就是指定自动执行时自动运行NOTEPAD.EXE(记事本),并打开当前目录里的README.TXT这个文本文件。
 
 而ICON=这一句,可以为该光盘或分区指定一个图标。这一句可指定一个ICO格式的图标文件,也可以是可执行文件中的图标(前提是所指定的可执行文件中有图标),或其他的有图标资源的文件如DLL,ICL等。如:ICON=C:\WINDOWS\Explorer.exe,2则该分区或光盘使用C:\WINDOWS\Explorer.exe这个文件里面的第3个图标(第一个为0,依此类推)。
 
 在AUTORUN.INF中,可只有OPEN=这一句,也可只有ICON=这一句。
 
 现在再来看看,如果我们想在光盘自动播放时打开一个HTML文件要怎么做。
 
 先试试这样:
 OPEN=\INDEX.HTML
 这样执行的时候,会提示“F:\ 不是有效的 WIN32 应用程序”。看来这样的办法不行。
 
 我们知道,在我的电脑上双击HTML文件,一般用IE来打开,那么我们再试试这样的:
 OPEN=IEXPLORE.EXE INDEX.HTML
 但执行后IE打开的是http://index.html/,看来也不行。虽然,如果是指定了盘符之后,IE可以正常打开了,象这样:
 OPEN=IEXPLOE.EXE F:\INDEX.HTML
 但还是会有问题,一是通用性不好,你不知道人家的机子的光驱的盘符是什么,还有一个是并不是所有的机子都装有IE,有人不喜欢用IE,说不定就打不开了。
 那么,要是这么写呢?
 OPEN=\INDEX.HTML
 这种方法也不行,自动执行时会提示“未找到 "file:///c:/index.html"。请确认路径或 Internet 地址正确。”。
 看来好象都不行。不过,我们还可以用这样的办法:
 OPEN=START INDEX.HTML
 就是利用WIN98的START命令。这种做法是可行的,但也有一个缺点,就是自动执行的时候,会先出现一个DOS窗口,然后才打开HTML文件。虽然没什么问题,但还是影响美观,而且看起来也不专业。
 
 最近看到一些光盘在自动播放的时候是打开HTML文件,但不会出现DOS窗口,仔细看了一下,它们是用一个叫shelexec.exe的文件来打开HTML文件的,这个是据我所知目前在AUTORUN.INF中打开HTML的最好方法了。用这个shelexec.exe来打开HTML文件时AUTORUN中的OPEN写法是这样的:
 OPEN=shelexec.exe index.html
 用这种方法在AUTORUN.INF中打开HTML文件,效果较好,而且,理论上只要在我的电脑中双击能打开的文件类型,都可以用这个shelexec.exe来打开,例如,我的机子上装了ACDSEE,那么在AUTORUN.INF中写上OPEN=shelexec.exe test.jpg,自动执行时就会自动用ACDSEE打开TEST.JPG,同样用OPEN=shelexec.exe readme.txt,自动执行时就和你在机子上双击打开readme.txt效果一样,和OPEN=notepad.exe readme.txt不同的是,如果你的TXT文件不是和NOTEPAD关联,那么用OPEN=shelexec.exe来打开,就是用和TXT关联的程序来打开TXT,而不一定是NOTEPAD了。
 
 上面只是我所知道的一些关于在AUTORUN.INF中打开HTML类型文件的方法,其实在AUTORUN.INF中打开HTML类型文件的方法不止这些,也许还有更好的方法,大家还有什么好的方法也可以讨论一下。
 
 这个shelexec.exe我已经打包放在我的空间上,如果大家需要可以去下载,文件大小为22113 BYTES。下载后请自行查毒。
 下载地址一
 下载地址二
 
 里面有两个文件:shelexec.exe和shelex32.exe,由于时间关系,我只在WIN98上试过,关于那个shelex32.exe估计是用于WINNT/WIN2K的,我没时间试,大家有空可自己试一下。
 
  ----
  
 
                                   ——CyberCowBoy·曉夢
 
 
  | |
 
                       | 
 
 
 |