光盤自動播放,主要依靠兩個文件,一是光盤上的AutoRun.inf文件,另一個是操作系統(tǒng)本身的系統(tǒng)文件之一的Cdvsd.vxd。Cdvsd.vxd會隨時偵測光驅(qū)中是否有放入光盤的動作,如果有的話,便開始尋找光盤根目錄下的AutoRun.inf文件。如果存在AutoRun.inf文件則執(zhí)行它里面的預設(shè)程序。
一、解讀Autorun.inf
Autorun.inf是一個文本形式的配置文件,我們可以用文本編輯軟件進行編輯,它只能位于驅(qū)動器的根目錄下。這個文件包含了需要自動運行的命令,如改變的驅(qū)動器圖標、運行的程序文件、可選快捷菜單等內(nèi)容。
Autorun.inf文件結(jié)構(gòu)較簡單,主要包含一個固定的段標識和自定的自動播放命令(Autoplay command)。定義好Autoplay command就可以實現(xiàn)自己的自動播放了。
改變驅(qū)動器圖標命令:Defaulticon命令和Icon命令
這兩條命令都能改變光盤圖標,功能相同。我們平時見到的光盤圖標的改變就是用此命令來實現(xiàn)的。
命令中都包含圖標信息文件(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數(shù)字來標識,分別代表圖標信息文件中的第一個圖標、第二個圖標,它與圖標信息文件間用逗號分隔。例如,在光盤autorun目錄下有一個包含兩個圖標的autorun.exe文件,要引用其中的第二個圖標作為光盤圖標,可以這樣表示:
Defaulticon =Autorun\Autorun.exe, 1
或Icon=Autorun\Autorun.exe, 1
當你對這個圖標感到不滿意時,只要換一個資源號即可。
需要說明的是,如果Defaulticon 和Icon命令同出現(xiàn)在一個Autorun.inf文件中,Autoplay使用Defaulticon命令而忽略Icon命令。
二、做一個自動打開網(wǎng)頁的光盤
1、把你的網(wǎng)頁放在一個文件夾下面,如html
2、在目錄新建一個autorun.inf的文件,打開后編輯為以下內(nèi)容:
icon=*.ico(加圖標)
shellexecute=index.html(光盤放入后自動打開index.html,如果是win9x/me的話則改成open=start.exe index.html)
三、做一個自動放歌的光盤
1、首先得新建一個文件夾來放要播放的MP3~,偶放在D盤下,就是d:\mp3
2、下載一個播放器軟件,注意要是綠色的(如千千、Foobar)
3、對播放器進行設(shè)置,去掉不要的功能,最主要的是把D:\MP3的音樂加到播放列表下面并保存為fpl播放列表文件
4、在MP3目錄下新建一個名為autorun.inf的文件,用記事本打開,輸入以下內(nèi)容!
open=foobar\foobar.exe *.fpl(就是通過foobar來打開*.fpl播放列表)
icon=foobar\foobar.exe,1(設(shè)置圖標為foobar程序的第一個圖標)
5、把D:\MP3中所有的文件刻錄到光盤。
四、改變驅(qū)動器的圖標
1、在要改變圖標的驅(qū)動器根目錄下新建autorun.inf(這里以d盤為例)
2、輸入以下內(nèi)容:
ICON=c:\windows\system\shell32.dll,21(D盤的圖標會變成 shell32.dll的第21個圖標)
五、為光盤加右鍵菜單~
1、在光盤根目錄下新建一個autorun.inf,編輯為
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實現(xiàn)修改注冊表(危險)
示例1、插入光盤后就自動鎖掉你的注冊表。
首先編寫一個REG文件,打開記事本,鍵入以下內(nèi)容:
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=dword: 00000001
將以上部分另存為lock.reg文件。要特別注意第一行REGEDIT4要用大寫且頂格寫,在它后面要空上一行,在最后一行寫完后記得要按兩次回車鍵,即最后也要空上一行。
然后新建一個AutoRun.inf文件,輸入以下內(nèi)容:
Open=Regedit/s ShareC.reg
加/s參數(shù)是為了導入時不會顯示任何提示信息,保存AutoRun.inf文件。將lock.reg和AutoRun.inf這兩個文件都復制到另一臺電腦的磁盤的根目錄下或刻錄到光盤中,這樣對方只要雙擊那個磁盤或者把光盤插入光驅(qū)就會將lock.reg導入注冊表,而且沒有提示哦。對方的注冊表就被鎖了
說明1:是否執(zhí)行AutoRun功能其實由注冊表來決定。在"開始"菜單的"運行"中輸入Regedit,打開注冊表編輯器,展開到HKEY_CURRENT_USER\ software\Microsoft\Windows\Current- Version\Policies\Exploer主鍵下,右邊窗口中的二進制值"NoDriveType- AutoRun"決定了是否執(zhí)行AutoRun功能(包括硬盤和Ramdisk)。"NoDriveTypeAutoRun"默認鍵值為95 00 00 00
說明2:Shell32.DLL是一個Windows系統(tǒng)文件,里面包含有很多Windows的系統(tǒng)圖標,21表示顯示為編號為21的圖標,當然你也可以自己制作一個圖標,只需要在"ICON"一行把路徑做相應(yīng)修改即可。除了可以使用DLL文件中的圖標外,還能用EXE文件中的圖標,或直接使用ICO文件。
說明3:不同的播放器的參數(shù)加載方式可能會不同的。