阿豪IT部落

關於部落格
電腦教學、學習、教師網誌
  • 161269

    累積人氣

  • 41

    今日人氣

    0

    訂閱人氣

AutoRun編寫【基礎篇】

AutoRun編寫【基礎篇】

使用工具:記事本

[AutoRun] / / 宣告編寫AutoRun 格式
open=setup.exe / / 指定所要呼叫的程式檔名

ps.假若所要執行的檔案為非執行檔,其語法前須加

例:open=start readme.txt(並且需指明完整檔名)
icon=setup.ico / / 指定所要使用的光碟圖示
*【其儲存檔名為Autorun.inf 】

ps.如無法順利自動執行該CD,請於”控制台” => ”系統”=> ”裝置管理員” =>
”CD-ROM” 將其“設定值” 中”自動安插通知” 勾選。

ICON圖檔製作

使用軟體:PhotoImpact 5.0以上版本,或其他可供轉換ICO圖檔工具。
範例說明:以PhotoImpact 6.0為例

製作步驟:
1. 於”檔案” => “開啟舊檔”(匯入所要使用之圖示)
2. 選取 ”格式” => “尺寸” ,此時會談跳出一”尺寸”視窗,於視窗內”新影像”處,點選”標準(S)”並選擇”32*32像素”確定之。
3. 選取 ”格式” => “影像類型” => “16色(I)…(4-bit)” 或“最佳化16色(4-bit)”,此時會出現一新”未命名”視窗。
4. 於新視窗選擇”檔案” => “另存檔案” ,在”存檔類型(T)”處選擇”(windows圖示)” 儲檔之即可。

製作ICO圖示注意事宜:
1. 該圖檔長寬比最好接近1:
2. 圖檔別要過大,需考慮縮小後的畫質會否清晰

AutoRun編寫【進階篇】

使用工具:AutoRun-D I Y V 1 . 0 3版
本程式是一套可以自訂光碟片 AutoRun 選單內容的程式,選單程式主要是以AUTORUN.EXE 這支程式呼叫AUTORUN.DAT中的設定資料。

所以整個 a utorun.inf 寫法:

[autorun]
open=autorun.exe
icon=autorun.ico

在光碟燒錄的過程,僅需把下面的檔案燒錄在光碟的根目錄中:
AUTORUN.EXE (光碟安裝精靈主執行檔)
AUTORUN.INF ( A u t o r u n 設定檔)
AUTORUN.ICO ( A u t o r u n 圖示檔, 可以自己作喜愛的圖示)
AUTORUN.BMP (光碟安裝精靈畫面圖檔, 可以自行製作自己的圖案)
AUTORUN.DAT (資料檔,依照下面說明的方法先修改好)

◎ 如何修改資料檔:
要製作出自己的選單,您必需要先設定好資料檔,光碟安裝精靈才會知道要作出怎麼樣的選單,以及跑哪些安裝程式。
這個資料檔的檔名是AUTORUN.DAT,該檔可用記事本開啟,內容格式為:

◎ 執行結果:
AUTORUN.DAT語法撰寫說明:

1. 用 ' ; ' (分號) 這個記號作為第一個字的為註解文字行。
例: 使用軟體 AutoRun-DIY v1.03 【這是註解】

2. 程式設定行,由' | ' 記號作為欄的分格,第一欄是程式名稱,也就是會在選單上秀出來的文字,第二欄是程式執行的檔案名稱(須指定正確的檔案路徑)。
例:安裝 ACDSee 3.0 秀圖程式【修改處】| ACDSee3.0Acdsee30full.exe

3. 自訂的表頭:AutoRun 製作教學【修改處】' 內定字樣的表頭文字您可以在 AUTORUN.DAT 用註解文字$CAPTION 來更動,
而 ' 光碟選單內容【修改處】' 字樣則可以用註解文字$SUNCAPTION 來更動。
例:$CAPTION|小野貓的店 ~ AutoRun 製作教學【修改處】
$SUBCAPTION| 光碟選單內容【修改處】

AutoRun編寫【補充篇】
快速選單~於光碟機ICO圖示所在磁碟按下滑鼠右鍵AUTORUN.INF 語法撰寫如下:

另類光碟選單~語法細說:
1. 首要先想好所要在選單上出現的選項名稱,
並以「 shell step1 = 選項名稱1 」代表。
如:shell setp1 = 安裝 A C D S e e 3 . 0

2. 設定” 選項名稱1 “ 所代表執行的程式名稱為何,
並用「 s h e l l step1 command = 所要執行的指令」代表。
如:shell setp1 command = ACDSee3.0 Acdsee30full.exe






我們在使用各種光盤時,都會發現同一種現象:當我們把光盤放入光驅後,Windows便能自動地啟動光盤上的某個程式,從而完成一個基於Windows平 台設計的產品的配置、裝設等操作;或者打開檔案總管,會發現光盤的圖示已被改變成標志其產品之類的圖示了。這的確讓我們感覺到操作上的方便和快捷。其實, 這是利用了Windows作業系統的“自動播放(AutoPlay)”功能。下面,筆者就對“自動播放”進行詳細介紹,以期讀者能打造自己需要的“自動播放”。

自動播放的工作原理

自動播放的原理很簡單:當光盤被放入採用Windows作業系統的電腦光驅中時,系統會立即偵測Windows的一個32位光驅驅動程式,然後搜尋光 盤上根目錄下一個叫Autorun.inf的配置文件,並自動運行這個Autorun.inf中設定的命令。顯然,在整個過程中起著關鍵作用的便是這個 Autorun.inf文件,我們所體驗到的“自動”,事實上都是在這個文件裏預先指定的。

解讀Autorun.inf

Autorun.inf是一個文本形式的配置文件,我們可以用文本編輯軟體進行編輯,它隻能位於驅動器的根目錄下。這個文件包含了需要自動運行的命令,如改變的驅動器圖示、運行的程式檔案、可選快捷菜單等內容。

Autorun.inf文件結構較簡單,主要包含一個固定的段標識[Autorun]和自定的自動播放命令(Autoplay command)。定義好Autoplay command就可以實現自己的自動播放了。

1﹒ 改變驅動器圖示命令:Defaulticon命令和Icon命令

這兩條命令都能改變光盤圖示,功能相同。我們平時見到的光盤圖示的改變就是用此命令來實現的。

命令中都包含圖示資訊文件(iconname),可以指出該文件在光盤上的相對路徑(path),在沒有指出路徑的情況下,Windows自動到光盤的根目錄下搜尋圖示資訊文件。其命令格式為:

Defaulticon=PathIconname

或Icon=PathIconname

Iconname可以是.ico、.bmp、.exe或 .dll文件。例如,要引用光盤根目錄上Setup.ico作為光盤的圖示,可這樣表示:

Defaulticon=Setup.ico

或Icon=Setup.ico

如果這個文件包含多個圖示,可指定文件中的一個資源號(索引)來引用其中的不同圖示。資源號由0、1、2……數字來標識,分別代表圖示資訊文件中的第 一個圖示、第二個圖示……,它與圖示資訊文件間用逗號分隔。例如,在光盤autorun目錄下有一個包含兩個圖示的autorun.exe文件,要引用其 中的第二個圖示作為光盤圖示,可以這樣表示:

Defaulticon =AutorunAutorun.exe, 1

或Icon=AutorunAutorun.exe, 1

當你對這個圖示感到不滿意時,隻要換一個資源號即可。

需要說明的是,如果Defaulticon 和Icon命令同出現在一個Autorun.inf文件中,Autoplay使用Defaulticon命令而忽略Icon命令。

自動執行檔﹙Autorun.inf﹚的寫法
什麼是 “Autorun.inf” 檔?
當您希望使用者將光碟片一放進光碟機,即能自動播放您想要的頁面或開啟某個檔案時。
(指一般 CD-Title,而非 VCD 或相片光碟)
需於光碟根目錄下,有 “Autorun.inf” 檔,於該檔中指定開啟 (open) 某執行檔 (.exe) 或檔案。
檔名需為 Autorun.inf (Win 系統大小寫均可)

【狀況一】要開啟的檔案是一般執行檔,不是網頁時

[autorun]
open=檔名.exe
icon=檔名.ico


註:(1) "autorun.inf” 為純文字檔,可用 "記事本" 編寫。
  (2) 將 "autorun.inf” 與執行檔 (.exe) 同置根目錄層。
    (如果 exe 檔不在根目錄,請依相對路徑寫法,指向它)
  (3) 執行檔 (.exe) 的來源可能是多媒體整合軟體包裝後的檔案,如...


(1) Flash、(2) Director、(3) Authorware、
(4) 一般(未特別設計圖示者)、(5) 自行設計圖示者

  (4) 圖示(icon)附檔名為 .ico
  (5) 未指定圖示(icon)時, 則依作業系統預設值,例如:
  (6) 圖示製作軟體
    擬自行製作圖示,除 PhotoImpact 7.0 外,可使用軟體有...
   【網站】Toget 軟體下載
       PC home > toget首頁 > 美術繪圖 > 圖示製作
 
【狀況二】要開啟的檔案是網頁,不是一般執行檔時

當主頁為網頁時,由於 html 不是執行檔,所以需於其前另行指定能開啟它之程式。
讓作業系統的檔案總管(Explorer.exe)自行判斷用什麼應用程式去開 html 檔,因每台電腦安裝路徑或作業系統(WINDOWS、WINNT)不盡相同,故不宜指定檔案總管(Explorer.exe)的絕對路徑。

註:"Explorer.exe" 是檔案總管,不是 IE 的 "IEXPLORE.EXE"。
【正確寫法】

[autorun]
open=Explorer.exe index.htm
icon=檔名.ico

註:此處 "index.htm" 僅為舉例
屆時視網頁檔名為何,更改主檔名,以及副檔名究竟為 htm 或 html。

【錯誤寫法】

※不應直接指定 .htm 檔,缺執行檔 .exe
[autorun]
open=index.htm
icon=檔名.ico


※不宜指定檔案總管的絕對路徑(使用者的系統碟未必為 c 或您所寫路徑)
[autorun]
open=C:WindowsExplorer.exe index.htm
icon=檔名.ico
 
【狀況三】其他檔案格式

其他檔案格式也可以嗎?
原則上都是可以的,只要該台電腦能開的起來。以下以隨身簡報檔為例:
[autorun]
open=explorer.exe 檔名.pps
icon=檔名.ico

如果光碟片放入光碟機時,並沒有自動執行(autorun),請朝以下幾方面檢查:

一、光碟機「自動安插通知」的選項被關閉

以Windows 98舉例,在桌面「我的電腦」圖示上按滑鼠右鍵,選內容,到「裝置管理員」這一頁。

在 CD-ROM 前的 "+" 號上按一下,以便展開,你可以看到安裝在你電腦上的光碟機型號,選取之後,按「內容」,到「設定值」頁,如果需要Autorun 的功能就把「自動安插通知」勾起來,重新開機後這功能就生效。

二、登錄值不正確

與 Autorun 有關的登錄值錯誤也會造成 autorun 功能失效,因此使用登錄編輯器來修改登錄值。

· 按「開始」,到「執行」,輸入 REGEDIT 後按確定。

· 到以下位置檢查NoDriveTypeAutoRun 的內容:

程序代碼 程序代碼
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion
PoliciesExplorer




程序代碼 程序代碼
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion
PoliciesExplorer


在 NoDriveTypeAutoRun 上按兩下,把它打開,檢查數值資料是不是如以下:

0000 95 00 00 00,如果不是的話,請改成這樣的值,儲存後需要重新開機新的設定才會生效。 

三、光碟片 Autorun.inf 的寫法不合規定

如果只是某些光碟片無法自動執行,這可能就是該光碟的 autorun.inf 檔案有問題,最常見的的一種情形就是自己製作的自動執行光碟,autorun.inf 檔案沒有照規定格式撰寫,造成 Windows 的 CD-ROM 偵測驅動程式(Cdvsd.vxd)無法判斷,Autorun 功能當然失效。

這一點你當然無法改變,只有去找製作這張光碟的人或廠商。

四、驅動程式的問題

這應該只會出現在一些非常古老的光碟機上,新的光碟機應該不會有這個問題。有些古老的光碟機並沒有提供 Protect Mode 的驅動程式,只有 Real Mode 的驅動程式,Windows 的 Autorun 功能只支援 Protect Mode 驅動程式,不支援 Real Mode 驅動程式。

總而言之,就是該光碟機的驅動程式一定要掛在 Config.sys 、Autoexec.bat 裡 Windows 才能抓得到的這種古董光碟機,這類光碟機通常都無法支援 Windows 的 Autorun 功能。

如果你的光碟機 Windows 本身即可抓得到,就不需要在 Config.sys 或 Autoexec.bat 裡再掛上Real Mode 的驅動程式(即 DOS 的驅動程式),除非你有特殊的用途(好比玩一些古老的純 DOS 光碟遊戲 ),如此可以避免降低光碟機的效能。

備註:Autorun 的原理

光碟片一放入光碟機就會自動被執行,主要依靠著兩個檔案,一是光碟片上的 Autorun.inf 檔,另一個是作業系統本身系統檔之一的 Cdvsd.vxd。

Cdvsd.vxd 會隨時偵測光碟機中是否有放入光碟片的動作,如果有的話,便開始尋找光碟根目錄下的 autorun.inf 檔。依照 autorun.inf 檔案裡的敘述,Windows 就會去執行 autorun.inf 裡的 [AUTORUN]區段中,open= 這行所指定執行的檔案。

autorun.inf 是一個純文字格式的檔案,你可以用任何一種文字編輯軟體把它打開,有興趣的話,你可以找一片光碟,開啟它的 autorun.inf 研究看看。

參考資料:
http://big5.pconline.com.cn/b5/www.pconline.com.cn/pcedu/soft/st/winxp/0406/386873.html
http://vhost.shu.edu.tw/~wang/multi/autorun.htm
http://www.takes.tpc.edu.tw/win-10.htm
http://m2.takes.tpc.edu.tw/05xoops/
相簿設定
標籤設定
相簿狀態