Skip to main content
為了進行測試,遊戲可能會想要自動將使用者新增到遊戲中。使用 Microsoft Game Development Kit (GDK) 時, 只有在遊戲呼叫 XUserAddAsync 時才會新增使用者。就 自動化而言,此函式有下列兩個主要限制。
  • 如果您使用 AddDefaultUserSilently 旗標呼叫 XUserAddAsync,就不會出現 UI (這 有助於自動化)。但是,您只能取得啟動遊戲的使用者。 使用此旗標重複呼叫 API 並不會改變結果。您只會不斷 取得同一位使用者的新控制代碼。
  • 如果您在不使用 AddDefaultUserSilently 旗標的情況下呼叫 XUserAddAsync,UI 就會出現並等待有人按下按鈕。這會中斷自動化。
為了協助在測試程式碼中自動新增使用者,Microsoft Game Development Kit (GDK) 支援開啟 無周邊選項,讓您可以新增使用者,而不會顯示需要使用者輸入的 UI。 下列步驟概述基本做法。
  1. 若要將已登入的使用者新增到主機,您可以使用 xbuser (NDA 主題) 命令列工具搭配 signin 選項。針對每位使用者重複此步驟。
  2. 若要隱藏在遊戲中新增使用者時通常會顯示的 UI,您 可以使用 xbconfig (NDA 主題) 命令列工具搭配 HeadlessXuser 選項,如下所示。
  1. 啟動遊戲。
  2. 在遊戲中,每個未使用 AddDefaultUserSilently 旗標的 XUserAddAsync 呼叫,都會傳回第一位登入主機 且遊戲尚未將任何未關閉的 XUserHandle 物件與其建立關聯的使用者。
  3. 如果遊戲持續呼叫 XUserAddAsync,最終會用盡 已登入主機的使用者數目。發生這種情況後,XUserAddAsync 會傳回 E_ABORT。這與使用者取消登入主機 (或以其他方式退出 UI) 時 XUserAddAsync 會傳回的錯誤完全相同。
  4. 為了進行測試,遊戲可能會想要知道已登入主機的 測試帳戶數目。為了方便達成此目的,遊戲可以呼叫 CreateProcess 並啟動 wduser 命令列工具搭配 list 選項。
Last modified on October 6, 2026