共用方式為


建立已啟用自動執行的應用程式

建立已啟用自動執行的應用程式是一個直接的程式。 本主題使用 CD-ROM 作為範例(這是第一個實作這項技術的媒體),但目前有許多不同類型的媒體類型可以使用。

若要在應用程式中啟用 AutoRun,您只需包含兩個基本檔案:

  • Autorun.inf 檔案
  • 啟動應用程式

當使用者將光碟插入自動執行相容電腦上的CD-ROM磁碟驅動器時,系統會立即檢查光碟是否有個人電腦檔案系統。 如果這樣做,系統會搜尋名為 Autorun.inf 的檔案。 此檔案會指定將執行的安裝程式應用程式,以及各種選擇性設定。 啟動應用程式通常會安裝、卸載、設定,以及執行應用程式。

建立 Autorun.inf 檔案

Autorun.inf 是一個文字檔,位於包含您應用程式的 CD-ROM 根目錄中。 其主要函式是為系統提供應用程式啟動程式的名稱和位置,以在插入光碟時執行。

注意

GetDriveType 傳回DRIVE_REMOVABLE的磁碟驅動器,Windows XP 下不支援 Autorun.inf 檔案。

 

Autorun.inf 檔案也可以包含選擇性資訊,包括:

  • 包含圖示的檔名,代表應用程式的CD-ROM磁碟驅動器。 Windows 檔案總管會顯示此圖示,以取代標準磁碟驅動器圖示。
  • 當使用者以滑鼠右鍵按兩下CD-ROM圖示時所顯示之快捷方式選單的其他命令。 您也可以指定使用者按兩下圖示時執行的預設命令。

Autorun.inf 檔案類似於.ini檔案。 它們是由一或多個區段所組成,每個區段都是以方括弧括住的名稱。 每個區段都包含一系列命令,命令會在插入光碟時由殼層執行。 目前已針對 Autorun.inf 檔案定義兩個區段。

  • [autorun] 區段包含預設的 AutoRun 命令。 所有 Autorun.inf 檔案都必須有 [autorun] 區段。
  • 選擇性的 [autorun.alpha] 區段可以包含在以 RISC 為基礎的電腦上執行的系統。 當光碟插入 RISC 型系統上的 CD-ROM 磁碟驅動器時,Shell 會在本節中執行命令,而不是 [autorun] 區段中的命令。

注意

Shell 會先檢查架構特定的區段。 如果找不到,它會使用 [自動執行] 區段中的資訊。 Shell 找到區段之後,它會忽略所有其他區段,因此每個區段都必須是獨立的。

 

每個區段都包含一系列命令,可決定自動執行作業的發生方式。 有五個命令可供使用。

Command 描述
defaulticon 指定應用程式的預設圖示。
圖示 指定 CD-ROM 磁碟驅動器之應用程式特定圖示的路徑和檔名。
open 指定啟動應用程式的路徑和檔名。
useautorun 指定如果支持,應該使用自動播放 V2 功能。
在 CD-ROM 的快捷方式選單中定義預設命令。
shell_verb 將命令新增至 CD-ROM 的快捷方式功能表。

 

以下是簡單的 Autorun.inf 檔案範例。 它會將Filename.exe指定為啟動應用程式。 Filename.exe中的第二個圖示將代表CD-ROM磁碟驅動器,而不是標準磁碟驅動器圖示。

[autorun] 
open=Filename.exe 
icon=Filename.exe,1

此 Autorun.inf 範例會根據電腦類型執行不同的啟動應用程式。

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

[autorun.alpha] 
open=Filename_RISC.exe 
icon=IconFile.ico

[DeviceInstall] 區段

您可以在任何卸除式媒體上使用 [DeviceInstall] 區段。 它僅支援在 Windows XP 下。 您可以使用 DriverPath 來指定 Windows XP 搜尋驅動程式檔案的目錄路徑,以防止長時間搜尋整個內容。

您可以使用 [ DeviceInstall] 區段搭配驅動程式安裝來指定 Windows XP 搜尋媒體中驅動程式檔案的目錄。 在 Windows XP 下,預設不會再搜尋整個媒體,因此需要 [DeviceInstall] 指定搜尋位置。 以下是 Windows XP 在 Autorun.inf 檔案中未搜尋 [DeviceInstall] 區段的唯一卸除式媒體。

  • 磁碟驅動器 A 或 B 中找到的磁碟片。
  • CD/DVD 媒體的大小小於 1 GB(GB)。

所有其他媒體都必須包含 [ DeviceInstall] 區段,Windows XP 才能偵測儲存在該媒體上的任何驅動程式。

注意

如同 [ AutoRun] 區段, [DeviceInstall] 區段可以是架構特定的。

 

如何實作自動執行啟動應用程式

撰寫裝置安裝應用程式