快速入門:將卸除式存放裝置設定為自動播放裝置 (HTML)
[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]
將磁碟區裝置 (例如記憶卡或隨身碟) 連接到電腦時,您可以將它識別為「自動播放」裝置。當您想為磁碟區裝置建立特定的「自動播放」****app 關聯以提供給使用者時,這項功能格外有用。
我們將在此處示範如何將磁碟區裝置識別為「自動播放」裝置。
若要將磁碟區裝置識別為「自動播放」****裝置,請在裝置的根磁碟機新增一個 autorun.inf 檔案。在 autorun.inf 檔案中,將 CustomEvent 機碼新增到 [AutoRun] 區段。當您的磁碟區裝置連接到電腦時,「自動播放」將尋找 autorun.inf 檔案,並將您的磁碟區視為裝置。「自動播放」****將使用您為 CustomEvent 機碼提供的名稱來建立「自動播放」事件。您可以接著建立一個 app,然後將該 app 登錄為「自動播放」****事件的處理常式。當裝置連接到電腦時,「自動播放」會將您的 app 顯示為磁碟區裝置的處理常式。 如需 autorun.inf 檔案的詳細資訊,請參閱 autorun.inf 項目。
裝置製造商:: 「自動播放」****不會自動下載您建立來做為裝置處理常式的應用程式。但是,使用者永遠可以從 Windows 市集取得您的應用程式。 為了創造更順暢的體驗,請使用裝置中繼資料將應用程式與裝置建立關聯。如果您將應用程式關聯為裝置體驗識別碼的自動安裝應用程式,那麼當您的裝置連接到電腦時,作業系統將會探索這項關聯。如果電腦未安裝您的應用程式,作業系統將自動下載並安裝您的應用程式。「自動播放」會將您的應用程式做為第一選項提供,讓使用者可以選擇做為您裝置的處理常式。如需詳細資訊,請參閱 Windows 市集裝置應用程式的自動播放。
目標: 建立應用程式以處理磁碟區裝置的自訂「自動播放」事件。
先決條件
您必須擁有磁碟區裝置 (如隨身碟或記憶卡) 才能完成這個快速入門中的指示。
Microsoft Visual Studio
指示
1. 建立 autorun.inf 檔案
在磁碟區裝置的根磁碟機中,新增一個名為 autorun.inf 的檔案。開啟 autorun.inf 檔案,然後新增下列文字。
[AutoRun] CustomEvent=AutoPlayCustomEventQuickstart
2. 建立新專案以及新增自動播放宣告
開啟 Visual Studio,然後選取 [檔案]**** 功能表的 [新增專案]。在 [Javascript]**** 區段中,選取 [Windows 市集]。將應用程式命名為 AutoPlayCustomEvent,然後按一下 [確定]。
開啟 Package.appxmanifest 檔案,然後選取 [功能]**** 索引標籤。選取 [抽取式存放裝置] 功能。這可讓 app 存取抽取式存放裝置上的檔案與資料夾。
在資訊清單檔案中,選取 [宣告]**** 索引標籤。在 [可用宣告] 下拉式清單中,選取 [自動播放內容],然後按一下 [加入]。選取已經新增至 [支援的宣告] 清單中的新 [自動播放內容] 項目。
注意 或者,您也可以選擇為您的自訂自動播放事件新增 [自動播放裝置] 宣告。
在您的 [自動播放內容]**** 事件宣告的 [啟動動作] 區段中,為第一個啟動動作輸入下列值。
設定 值 動詞 顯示 動作顯示名稱 顯示資料夾 內容事件 AutoPlayCustomEventQuickstart [內容事件]**** 值是您在 autorun.inf 檔案中為 CustomEvent 機碼提供的文字。[動作顯示名稱] 設定會識別為您 app 自動播放所顯示的字串。[動詞]**** 設定會識別針對選取的選項而傳遞至您 app 的值。您可以為自動播放事件指定多個啟動動作,並使用 [動詞] 設定判斷使用者為您 app 選取的選項。您可以檢查傳遞至 app 啟動事件引數的 verb 屬性,以判斷使用者選取的選項。您可以在 [動詞] 設定使用保留字 open 以外的任何值。
在 [可用宣告] 下拉式清單中,選取 [檔案類型關聯],然後按一下 [加入]。在新 [檔案類型關聯] 宣告的 [屬性] 中,將 [顯示名稱] 欄位設定成 Show .ms Files,將 [名稱] 欄位設定成 ms_association。在 [支援的檔案類型] 區段中,按一下 [加入新的]****。將 [檔案類型] 欄位設定成 .ms。對於內容事件,「自動播放」會過濾掉未明確與您的 app 關聯的所有檔案類型。
儲存並關閉資訊清單檔案。
3. 新增 HTML UI
開啟 Default.html 檔案,然後將下列的 HTML 放置在 <body> 區段。
<h2>Files</h2> <div id="files" style="width:400px;height:600px;font-size:large;" />
4. 新增啟用程式碼
這個步驟中的程式碼會呼叫一個函式,以顯示磁碟區裝置的根磁碟機中的資料夾。若為自動播放內容事件,自動播放會傳送已傳送至應用程式的啟動引數中的存放裝置根資料夾。您可以從 detail.files 屬性的第一個元素抓取這個資料夾。即使啟用事件引數的 detail.kind 屬性傳回 Windows.ApplicationModel.Activation.ActivationKind.file 的值,您也可以分辨應用程式是以自動播放內容事件的處理常式啟動的。
開啟 js 資料夾。開啟 Default.js 檔案,然後以下列程式碼取代預設的 onactivated 函式。
var filesDiv; app.onactivated = function (args) { if (args.detail.kind === activation.ActivationKind.file) { filesDiv = document.getElementById("files"); displayFiles(args.detail.files[0]); } args.setPromise(WinJS.UI.processAll()); };
5. 新增程式碼以顯示資料夾名稱
在 Default.js 檔案中,於 onactivated 函式後方新增下列程式碼。
function displayFiles(folder) { var options = new Windows.Storage.Search.QueryOptions(); options.fileTypeFilter.append(".ms"); var query = folder.createFileQueryWithOptions(options); query.getFilesAsync().done( function (files) { files.forEach( function (f) { filesDiv.innerHTML += " " + f.name + "<br/>"; }); }); }
6. 建置和執行應用程式
- 按 F5 以建置和部署應用程式 (偵錯模式)。
- 若要執行 app,請將記憶卡或其他存放裝置插入電腦中。然後從「自動播放」處理常式選項清單中選取您的應用程式。
摘要與後續步驟
在這個教學課程中,您已在 autorun.inf 檔案中定義自訂的「自動播放」事件名稱,將磁碟區裝置識別為「自動播放」裝置。您接著建立一個應用程式,將該應用程式登錄為該自訂事件的處理常式。