Share via


建立AutoRun-Enabled應用程式

建立已啟用自動執行的應用程式是簡單的程式。 本主題使用 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 會執行本節中的命令,而不是 [自動執行] 區段中的命令。

注意

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 中找到的磁碟片。
  • CD/DVD 媒體的大小小於 1 GB (GB) 。

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

注意

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

 

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

撰寫裝置安裝應用程式