Autorun功能依賴以下兩個部分:一是系統有啟動Autorun功能,若系統未啟動此功能,即使光碟上有Autorun.inf,都不會自動顯示出來;另一個是光碟根目錄要有Autorun.inf,這樣Windows才知道要開哪些檔案、程式,或者是要換成哪個圖示。
在繼續探討之前,我們先來瞭解一下,能夠啟動可執行檔的Autorun.inf長什麼樣子:
[autorun]
OPEN=SETUP.EXE
ICON=D2X.ICO
理解能力較好的讀者,應該能猜出open和icon這兩行的用途吧!顧名思義,open就是光碟一放進去,Windows該執行什麼指令;icon則是光碟片的小圖示該由哪個檔案來替換。這兩行的意思,就是要Windows啟動光碟片上面的setup.exe,並且把光碟機的小圖示替換成D2x.ico。
問題來了,如果今天不是要啟動可執行檔,而是要開啟特定的文件,例如1.txt,是只要把setup.exe替換成1.txt就好了嗎?這樣做的話會得到下面的結果。
Fig: Failed to open specific file.
Oops! 顯然這樣是不行的。在網路上找到了二種可行的辦法:第一種是把原先的1.txt改成start 1.txt,這在某些情況下是可以運作的,不過在開啟檔案之前,會先出現一下像DOS視窗的東西,然後才會開啟你設定的檔案,感覺和一般的操作習慣略有不同。而另一種是把open換成shellexecute,然後在=號的後面,直接加上想要開啟的檔名就可以了,但此方法並無法在Windows 98下使用。
為了瞭解這兩種方法在特定環境下的運作情形,筆者以此兩方法,分別在Windows 98, 2000, XP三套作業系統進行測試。
方法一:使用open
[autorun]
open=start 1.txt
ICON=D2X.ICO
方法二:使用shellexecute
[autorun]
shellexecute=1.txt
ICON=D2X.ICO
在Windows 98下:
方法一:正常運作
方法二:直接開啟光碟根目錄,並未執行其它指令
在Windows 2000下:
方法一:剛放進光碟時,會顯示錯誤訊息框:「存取的檔案或裝置被拒絕」。若在光碟機圖示按滑鼠右鍵並選擇自動播放,則出現「Windows找不到start.exe」
方法二:正常運作
在Windows XP下:
方法一:無反應。另一台也是裝Windows XP的電腦,則是詢問要用哪個程式來開啟光碟機的根目錄。
方法二:正常運作
總合以上測試的結果,若不考慮Windows 98的相容性,方法二是較好的選擇。最後您只需把上面方法二的內容,完整的存成Autorun.inf,並修改shellexecute後的檔名,改成想自動開啟的檔案名稱,最後再放在光碟的根目錄中,燒錄完成後就能享受此功能帶來的好處!
註:若要執行的檔案,其路徑或檔名中包含空白,其結果將無法預知!在筆者的XP能正常使用,但在另一台卻說找不到檔案,解決辦法可用修改檔名,或以_來取代空白。
參考資料:
CD/DVD AutoRun basics
AutoRun編寫【基礎篇】 ICON圖檔製作
1 comment:
GOOD! 推到版上囉^^
Post a Comment