共用方式為


建立支援自動執行的應用程式

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

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

  • Autorun.inf 檔案
  • 一個初創企業應用程式

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

建立 Autorun.inf 檔案

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

注意

在Windows XP中,對於從GetDriveType傳回DRIVE_REMOVABLE的磁碟驅動器,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 找到區段之後,它會忽略所有其他區段,因此每個區段都必須是獨立的。

 

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

指令 描述
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 中發現的軟碟。
  • 小於 1 GB的 CD/DVD 媒體。

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

注意

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

 

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

撰寫裝置安裝應用程式