NPM 套件 — 程式化 API

TypeScript/JavaScript API 參考文件 @microsoft/winappcli。 每個 CLI 指令都以非同步函式形式提供,捕捉 stdout/stderr 並回傳一個型別化的結果。 MSIX 身份、Electron 除錯身份及建置工具的輔助工具也會匯出。

安裝

npm install @microsoft/winappcli

快速入門

import { init, packageApp, certGenerate } from '@microsoft/winappcli';

// Initialize a new project with defaults
await init({ useDefaults: true });

// Generate a dev certificate
await certGenerate({ install: true });

// Package the built app
await packageApp({ inputFolder: './dist', cert: './devcert.pfx' });

常見的類型

每個 CLI 指令包裝器都接受延伸 CommonOptions 的 options 物件,並回傳 Promise<WinappResult>

CommonOptions

大多數指揮部共用的基礎選項。

房產 類型 為必填項目 Description
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

WinappResult

由每個命令封裝器回傳的結果。

房產 類型 為必填項目 Description
exitCode number Yes 程序退出代碼(成功時總是 0,擲出非零)。
stdout string Yes 擷取標準輸出。
stderr string Yes 捕捉標準錯誤。

CLI 指令包裝器

這些函式會包裝原生 winapp 的 CLI 指令。 所有選項都接受 CommonOptionsquietverbosecwd)。

certGenerate()

建立一個自簽憑證,僅供本地測試使用。 Publisher 必須與清單相符(如果 --manifest 提供或 Package.appxmanifest 在工作目錄中,則自動推斷)。 輸出:devcert.pfx(預設密碼:「password」)。 生產時,請從受信任的 CA 取得憑證。 用「cert install」來信任這台機器。

function certGenerate(options?: CertGenerateOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
exportCer boolean \| undefined No 匯出.pfx的同時,附帶一個.cer檔案(僅限公鑰)
ifExists IfExists \| undefined No 當輸出檔存在時的行為:'error'(失敗,預設)、'skip'(保持存在)或「覆寫」(替換)
install boolean \| undefined No 生成之後將憑證安裝到本地機器儲存
json boolean \| undefined No 格式輸出為 JSON
manifest string \| undefined No 前往 Package.appxmanifest 或 appxmanifest.xml 檔案的路徑,以提取發行者資訊。
output string \| undefined No 產生的 PFX 檔案輸出路徑
password string \| undefined No 產生的 PFX 檔案密碼
publisher string \| undefined No 產生憑證的 Publisher 名稱。 若未特別說明,則會從清單檔案推斷。
validDays number \| undefined No 證書有效天數

同時接受 CommonOptionsquietverbosecwd)。


certInfo()

顯示證書細節(主題、指紋、有效期限)。 這對於在簽署前確認證明是否符合你的清單很有幫助。

function certInfo(options: CertInfoOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
certPath string Yes 憑證檔案路徑(PFX)
json boolean \| undefined No 格式輸出為 JSON
password string \| undefined No PFX 檔案的密碼

同時接受 CommonOptionsquietverbosecwd)。


certInstall()

信任這台機器上的憑證(需要管理員管理)。 在安裝以開發憑證簽署的 MSIX 套件前執行。 範例:winapp cert install ./devcert.pfx。 每張證書僅需一次。

function certInstall(options: CertInstallOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
certPath string Yes 憑證檔案(PFX 或 CER)的路徑
force boolean \| undefined No 即使憑證已存在,也要強制安裝
password string \| undefined No PFX 檔案的密碼

同時接受 CommonOptionsquietverbosecwd)。


createDebugIdentity()

啟用套件識別碼以便除錯,無需建立完整 MSIX。 在開發過程中測試 Windows API(推播通知、共享目標等)所必需的。 範例:winapp create-debug-identity ./myapp.exe。 需要目前目錄中包含 Package.appxmanifest 或 appxmanifest.xml,或是透過 --manifest 傳遞。 在更改清單或資產後重新執行。

function createDebugIdentity(options?: CreateDebugIdentityOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
entrypoint string \| undefined No 需要以身份碼或入口腳本執行的 .exe 路徑。
keepIdentity boolean \| undefined No 請保持清單中的套件身份不變,並且不要在套件名稱和應用程式 ID 後加上「.debug」。
manifest string \| undefined No 到 Package.appxmanifest 或 appxmanifest.xml 的路徑
noInstall boolean \| undefined No 建立套件後不要安裝。

同時接受 CommonOptionsquietverbosecwd)。


createExternalCatalog()

產生一個 CodeIntegrityExternal.cat 目錄檔案,包含指定目錄中可執行檔案的雜湊值。 與 MSIX 稀疏套件清單中的 TrustedLaunch 旗標(AllowExternalContent)一起使用,允許執行套件中未包含的外部檔案。

function createExternalCatalog(options: CreateExternalCatalogOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
inputFolder string Yes 包含可執行檔案進行處理的輸入資料夾清單(以分號分隔)
computeFlatHashes boolean \| undefined No 產生目錄時包含平面哈希值
ifExists IfExists \| undefined No 輸出檔已存在時的行為
output string \| undefined No 輸出目錄文件路徑。 若未指定,則使用預設 CodeIntegrityExternal.cat 名稱。
recursive boolean \| undefined No 包含來自子目錄中的檔案
usePageHashes boolean \| undefined No 產生目錄時請包含頁面雜湊值

同時接受 CommonOptionsquietverbosecwd)。


getWinappPath()

列印 .winapp 目錄的路徑。 共用快取位置使用 --global,或在 project-local .winapp 資料夾中省略。 對於需要參考已安裝套件的建置腳本非常有用。

function getWinappPath(options?: GetWinappPathOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
global boolean \| undefined No 取得全域的 .winapp 目錄,而不是本地

同時接受 CommonOptionsquietverbosecwd)。


init()

從這裡開始,如何初始化需要設定的 Windows 應用程式。 設定 Windows 應用程式開發所需的一切:建立 Package.appxmanifest 預設資產、下載 Windows SDK 和 Windows 應用程式 SDK 套件,並產生投影。 當 SDK 套件被管理(--setup-sdks stable/preview/experimental)時,也會建立 winapp.yaml 來釘選版本以「還原」/「更新」;如果 --setup-sdks 為 none(例如帶自家 SDK 綁定的 Rust/Tauri 專案),則不會產生 winapp.yaml。 預設為互動式(使用 --use-default 跳過提示)。 如果你複製了一個已經有 winapp.yaml 的倉庫,請改用「還原」。 如果你只需要 manifest,可以用 'manifest generate';如果需要開發憑證來簽字,就用「cert generate」。

function init(options?: InitOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
baseDirectory string \| undefined No Winapp 工作區的基礎/根目錄,供使用者或安裝使用。
configDir string \| undefined No 目錄用以讀取/儲存設定(預設:目前目錄)
configOnly boolean \| undefined No 只處理設定檔操作(缺少設定檔則建立,存在則驗證)。 跳過套件安裝和其他工作區設定步驟。
ignoreConfig boolean \| undefined No 不要用設定檔來管理版本
noGitignore boolean \| undefined No 不要更新 .gitignore 檔案
setupSdks SdkInstallMode \| undefined No SDK 安裝模式:「stable」(預設)、 「preview」、「experimental」或「none」(跳過 SDK 安裝)
useDefaults boolean \| undefined No 不要顯示任何提示,並對所有提示使用預設設定

同時接受 CommonOptionsquietverbosecwd)。


manifestAddAlias()

在 Package.appxmanifest 中新增執行別名(uap5:AppExecutionAlias)。 這讓使用者能透過輸入別名名稱,從命令列啟動已封裝的應用程式。 預設情況下,別名是從可執行檔屬性推斷(例如 $targetnametoken$.exe 變成 $targetnametoken$.exe 別名)。

function manifestAddAlias(options?: ManifestAddAliasOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
appId string \| undefined No 用來新增別名的應用程式 ID(預設:第一個應用程式元素)
manifest string \| undefined No 路徑至 Package.appxmanifest 或 appxmanifest.xml 檔案(預設:搜尋目前目錄)
name string \| undefined No 別名(例如「myapp.exe」)。 預設:從清單中的可執行檔屬性推斷。

同時接受 CommonOptionsquietverbosecwd)。


manifestGenerate()

在沒有完整專案設定的情況下建立 Package.appxmanifest。 當你只需要清單和映像資產(不需要 SDK 或憑證)時就用。 完整設定時,改用「init」。 範本:「打包」(完整 MSIX)、「稀疏」(需要 Windows API 的桌面應用程式)。

function manifestGenerate(options?: ManifestGenerateOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
directory string \| undefined No 目錄用來生成 manifest 文件
description string \| undefined No 安裝時及 Windows 設定中顯示的人類可讀應用程式說明
executable string \| undefined No 應用程式執行檔的路徑。 預設: <套件名稱>.exe
ifExists IfExists \| undefined No 當輸出檔存在時的行為:'error'(失敗,預設)、'skip'(保持存在)或「覆寫」(替換)
logoPath string \| undefined No Logo 影像檔案的路徑
packageName string \| undefined No 套件名稱(預設:資料夾名稱)
publisherName string \| undefined No Publisher CN(預設:CN=<目前使用者>)
template ManifestTemplates \| undefined No 清單範本類型:「packaged」(完整 MSIX 應用程式,預設)或「sparse」(具有套件識別的桌面應用程式,用於 Windows API)。
version string \| undefined No 應用程式版本為 Major.Minor.Build.Revision 格式(例如 1.0.0.0)。

同時接受 CommonOptionsquietverbosecwd)。


manifestUpdateAssets()

從單一來源圖片為 Package.appxmanifest 中引用的圖片產生新素材。 原始影像至少要是 400x400 像素。

function manifestUpdateAssets(options: ManifestUpdateAssetsOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
imagePath string Yes 來源圖片檔案的路徑(SVG、PNG、ICO、JPG、BMP、GIF)
lightImage string \| undefined No 淺色主題變體的來源影像路徑(SVG、PNG、ICO、JPG、BMP、GIF)
manifest string \| undefined No 路徑至 Package.appxmanifest 或 appxmanifest.xml 檔案(預設:搜尋目前目錄)

同時接受 CommonOptionsquietverbosecwd)。


packageApp()

從你建置好的應用程式建立 MSIX 安裝程式。 在建置完你的應用程式後再執行。 包裝需要一個清單(Package.appxmanifest 或 appxmanifest.xml)。它必須位於當前工作目錄中、以 --manifest 提供,或在輸入資料夾中。 使用 --cert devcert.pfx 來簽署測試。 範例:winapp package ./dist --manifest Package.appxmanifest --cert ./devcert.pfx

function packageApp(options: PackageOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
inputFolder string Yes 輸入資料夾與套件配置
cert string \| undefined No 簽署憑證的路徑(若提供將自動簽署)
certPassword string \| undefined No 憑證密碼(預設:password)
executable string \| undefined No 相對於輸入資料夾的執行檔路徑。
generateCert boolean \| undefined No 產生新的開發證書
installCert boolean \| undefined No 將憑證安裝到機器
manifest string \| undefined No AppX 清單檔案的路徑(預設:自動偵測輸入資料夾或目前目錄)
name string \| undefined No 套件名稱(預設:來自清單)
output string \| undefined No 產生的套件的 msix 檔案名稱(預設為<名稱><版本><arch>.msix;如無法確定版本或架構,則依序退回至<名稱><版本>.msix、<名稱><arch>.msix 或<名稱>.msix)
publisher string \| undefined No 用於憑證產生的發行者名稱
selfContained boolean \| undefined No 捆綁 Windows 應用程式 SDK 執行環境以實現自包含部署
skipPri boolean \| undefined No 跳過 PRI 檔案產生

同時接受 CommonOptionsquietverbosecwd)。


restore()

在複製倉庫後或 .winapp/ 資料夾不見時使用。 從現有的 winapp.yaml 重新安裝 SDK 套件,且不更改版本。 需要 'winapp.yaml'(由 'init' 建立)。 要檢查是否有更新的 SDK 版本,請改用「更新」。

function restore(options?: RestoreOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
baseDirectory string \| undefined No Winapp 工作區的 Base/root 目錄
configDir string \| undefined No 讀取設定的目錄(預設:目前目錄)

同時接受 CommonOptionsquietverbosecwd)。


run()

建立套件版面,註冊應用程式,並啟動套件中的應用程式。

function run(options: RunOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
inputFolder string Yes 輸入資料夾,包含要執行的應用程式
args string \| undefined No 用來傳遞給應用程式的命令列參數
clean boolean \| undefined No 在重新部署前,先移除現有套件的應用程式資料(LocalState、設定等)。 預設情況下,應用程式資料會在重新部署過程中被保留。
debugOutput boolean \| undefined No 擷取 OutputDebugString 訊息,並從啟動的應用程式中捕捉 first-chance 例外。 同一時間只能連接一個除錯器,因此無法同時使用其他除錯器(如 Visual Studio、VS Code)。 如果要附加不同的除錯器,請改用 --no-launch。 不能和 --no-launch 或 --json 合併使用。
detach boolean \| undefined No 啟動應用程式後立即返回,不要等它退出。 對於需要在啟動後與應用程式互動的 CI/自動化來說很有用。 會把 PID 列印成標準碼(或用 --json 格式的 JSON)。
json boolean \| undefined No 格式輸出為 JSON
manifest string \| undefined No Package.appxmanifest 的檔案路徑(預設:自動偵測自輸入資料夾或當前目錄)
noLaunch boolean \| undefined No 只建立除錯身份並註冊套件,無需啟動應用程式
outputAppxDirectory string \| undefined No 鬆散佈局套件的輸出目錄。 若未指定,則會使用輸入資料夾目錄中名為 AppX 的目錄。
symbols boolean \| undefined No 從 Microsoft Symbol Server 下載符號,以獲得更豐富的原生當機分析。 僅用於 --debug-output。 首先執行時下載符號並快取到本地;後續執行會使用快取。
unregisterOnExit boolean \| undefined No 在應用程式退出後取消註冊開發套件。 只會移除在開發模式下註冊的套件。
withAlias boolean \| undefined No 啟動應用程式時,請使用其執行別名,而非藉由 AUMID 進行啟用。 應用程式在目前的終端機中運行,繼承了 stdin/stdout/stderr。 需要在清單中定義 uap5:ExecutionAlias。 使用「winapp manifest add-alias」來為清單新增執行別名。

同時接受 CommonOptionsquietverbosecwd)。


sign()

對 MSIX 套件或執行檔進行程式碼簽署。 範例:winapp sign ./app.msix ./devcert.pfx。 使用 --timestamp 表示生產建置在憑證過期後仍有效。 'package' 指令可以自動用 --cert 簽名。

function sign(options: SignOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
filePath string Yes 要簽署的檔案/套件路徑
certPath string Yes 憑證檔案路徑(PFX 格式)
password string \| undefined No 憑證密碼
timestamp string \| undefined No 時間戳伺服器網址

同時接受 CommonOptionsquietverbosecwd)。


store()

執行 Microsoft Store 開發者 CLI 指令。 如果尚未下載,此指令將下載Microsoft Store開發者CLI。 想了解更多關於 Microsoft Store Developer CLI 的資訊,請點此:https://aka.ms/msstoredevcli

function store(options?: StoreOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
storeArgs string[] \| undefined No 這些論點將傳遞給 Microsoft Store 開發者 CLI。

同時接受 CommonOptionsquietverbosecwd)。


tool()

直接執行 Windows SDK 工具(makeappx、signtool、makepri 等)。 必要時自動下載建構工具。 大多數任務偏好使用像「package」或「sign」這類高階指令。 範例:winapp 工具 makeappx pack /d ./folder /p ./out.msix

function tool(options?: ToolOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
toolArgs string[] \| undefined No 要傳遞給 SDK 工具的參數,例如 ['makeappx', 'pack', '/d', './folder', '/p', './out.msix']。

同時接受 CommonOptionsquietverbosecwd)。


uiClick()

透過滑鼠模擬的字條搜尋或文字搜尋來點擊元素。 適用於不支援 InvokePattern 的元素(例如欄位標頭、清單項目)。 使用 --double 代表雙擊,使用 --right 代表右擊。

function uiClick(options?: UiClickOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
double boolean \| undefined No 請雙擊而非單擊
json boolean \| undefined No 格式輸出為 JSON
right boolean \| undefined No 請用右鍵點擊代替左鍵
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiFocus()

使用 UIA SetFocus 將鍵盤焦點移至指定元素。

function uiFocus(options?: UiFocusOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiGetFocused()

在目標應用程式中顯示目前有鍵盤焦點的元素。

function uiGetFocused(options?: UiGetFocusedOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiGetProperty()

從元素讀取 UIA 屬性值。 若要指定單一屬性,請使用 --property;若要應用於所有屬性,則省略該選項。

function uiGetProperty(options?: UiGetPropertyOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
property string \| undefined No 要閱讀或篩選的屬性名稱
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiGetValue()

讀取元素的當前值。 嘗試 TextPattern(RichEditBox、Document)、ValuePattern(TextBox、ComboBox、滑桿),然後是名稱(標籤)。 使用方法: winapp 使用者界面 get-value <selector> -a <app>

function uiGetValue(options?: UiGetValueOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiInspect()

查看 UI 元素樹,包含語意欄位、元素類型、名稱與界限。

function uiInspect(options?: UiInspectOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
ancestors boolean \| undefined No 從指定的元素向上遍歷到樹的根節點
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
depth number \| undefined No 樹木檢查深度
hideDisabled boolean \| undefined No 隱藏禁用元素使其不在輸出中顯示
hideOffscreen boolean \| undefined No 將畫面外元素從輸出中隱藏
interactive boolean \| undefined No 只顯示互動式/可調用的元素(按鈕、連結、輸入、清單項目)。 將預設深度增加到 8。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiInvoke()

透過 slug 或文字搜尋來啟動元素。 依序嘗試 InvokePattern、TogglePattern、SelectionItemPattern 和 ExpandCollapsePattern。

function uiInvoke(options?: UiInvokeOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiListWindows()

列出所有可見視窗及其句柄、標題、程序和大小。 請使用 -a 依應用程式名稱篩選。 用 HWND 搭配 -w 鎖定特定視窗。

function uiListWindows(options?: UiListWindowsOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON

同時接受 CommonOptionsquietverbosecwd)。


uiScreenshot()

將目標視窗或元素擷取為 PNG 影像。 當存在多個視窗(例如對話框)時,會將每個視窗擷取到獨立的檔案。 使用 --json 時,會回傳檔案路徑和尺寸。 使用 -capture-screen 來顯示彈出視窗的疊加層。

function uiScreenshot(options?: UiScreenshotOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
captureScreen boolean \| undefined No 從螢幕擷取(包含彈出視窗/疊加層)取代視窗渲染。 先將視窗顯示在最前面。
json boolean \| undefined No 格式輸出為 JSON
output string \| undefined No 儲存輸出到檔案路徑(例如截圖)
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiScroll()

使用 ScrollPattern 滾動容器元素。 使用 --direction 可以逐步捲動,或使用 ---to 來跳到頂部或底部。

function uiScroll(options?: UiScrollOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
direction string \| undefined No 捲動方向:上、下、左、右
json boolean \| undefined No 格式輸出為 JSON
to string \| undefined No 捲動到位置:頂部、底部
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiScrollIntoView()

使用 UIA ScrollItemPattern 將指定的元素捲入可見區域。

function uiScrollIntoView(options?: UiScrollIntoViewOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiSearch()

在元素樹中搜尋與文字查詢相符的元素。 回傳所有帶有語意條的匹配。

function uiSearch(options?: UiSearchOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
max number \| undefined No 最大搜尋結果
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiSetValue()

使用 UIA ValuePattern 在元素上設定一個值。 適用於 TextBox、ComboBox、Slider 及其他可編輯的控制項。 Usage: winapp UI set-value selector value -a <> app<><>

function uiSetValue(options?: UiSetValueOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
value string \| undefined No 要設定的數值(TextBox/ComboBox 的文字,滑桿的數字)
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 若有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 透過 HWND(列表輸出的穩定 handle)識別目標視窗。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiStatus()

連接到目標應用程式並顯示連線資訊。

function uiStatus(options?: UiStatusOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗由 HWND(從列表輸出中取得的穩定 handle)建立。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


uiWaitFor()

等待元素出現、消失,或屬性達到目標值。 以 100 毫秒為間隔進行輪詢,直到條件達成或逾時。

function uiWaitFor(options?: UiWaitForOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別符(例如 btn-minimize-d1a0)或按照名稱或 AutomationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
contains boolean \| undefined No 使用子字串匹配 --value,而非完全匹配
gone boolean \| undefined No 等待元素消失而非出現
json boolean \| undefined No 格式輸出為 JSON
property string \| undefined No 要閱讀或篩選的屬性名稱
timeout number \| undefined No 超時時間(毫秒)
value string \| undefined No 等待元素值等於這個字串。 使用智能後備措施(TextPattern -> ValuePattern -> 名稱)。 將 ---property 結合,以檢查特定房產。
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。

同時接受 CommonOptionsquietverbosecwd)。


unregister()

取消註冊一個側載的開發包。 僅移除在開發模式下註冊的套件(例如透過「winapp run」或「create-debug-identity」)。

function unregister(options?: UnregisterOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
force boolean \| undefined No 跳過安裝位置目錄檢查,即使套件是從其他專案樹註冊,也要取消註冊
json boolean \| undefined No 格式輸出為 JSON
manifest string \| undefined No Package.appxmanifest 路徑(預設:自動偵測從目前目錄)

同時接受 CommonOptionsquietverbosecwd)。


update()

檢查並安裝更新的 SDK 版本。 更新 winapp.yaml 到最新版本並重新安裝套件。 需要現有的 winapp.yaml(由 'init' 建立)。 使用 --setup-sdks 預覽版來預覽 SDK。 若要重新安裝目前版本而不更新,請改用「還原」。

function update(options?: UpdateOptions): Promise<WinappResult>

選項

房產 類型 為必填項目 Description
setupSdks SdkInstallMode \| undefined No SDK 安裝模式:「stable」(預設)、 「preview」、「experimental」或「none」(跳過 SDK 安裝)

同時接受 CommonOptionsquietverbosecwd)。


公用程式函數

execWithBuildTools()

執行一個指令,並將 BuildTools 的 bin 路徑加入 PATH 環境

function execWithBuildTools(command: string, options?: ExecSyncOptions): string | Buffer<ArrayBufferLike>

參數:

參數 類型 為必填項目 Description
command string Yes 執行命令
options ExecSyncOptions No 傳遞給 execSync 的選項(可選)

返回值: execSync 的輸出


addMsixIdentityToExe()

將 appxmanifest.xml 檔案中的套件身份資訊加入執行檔的內嵌清單

function addMsixIdentityToExe(exePath: string, appxManifestPath?: string | undefined, options?: MsixIdentityOptions): Promise<MsixIdentityResult>

參數:

參數 類型 為必填項目 Description
exePath string Yes 可執行檔路徑
appxManifestPath string \| undefined No 包含套件識別資料的 appxmanifest.xml 檔案路徑
options MsixIdentityOptions No 選用設定

addElectronDebugIdentity()

為 Electron 除錯流程新增封包識別碼

function addElectronDebugIdentity(options?: MsixIdentityOptions): Promise<ElectronDebugIdentityResult>

參數:

參數 類型 為必填項目 Description
options MsixIdentityOptions No 設定選項

clearElectronDebugIdentity()

透過從備份還原,清除/移除 Electron 除錯程序中的套件身份

function clearElectronDebugIdentity(options?: MsixIdentityOptions): Promise<ClearElectronDebugIdentityResult>

參數:

參數 類型 為必填項目 Description
options MsixIdentityOptions No 設定選項

getGlobalWinappPath()

取得全域 .winapp 目錄的路徑

function getGlobalWinappPath(): string

退貨: 完整路徑通往全球 .winapp 目錄


getLocalWinappPath()

取得本地 .winapp 目錄的路徑

function getLocalWinappPath(): string

退貨: 本地 .winapp 目錄的完整路徑


Node.js CLI 指令

這些指令僅透過 npx winapp node <subcommand> 提供,且不會匯出為程式化函式。

node create-addon

為 Electron 專案產生原生外掛檔案。 支援 C++(node-gyp)及 C#(node-api-dotnet)範本。

npx winapp node create-addon [options]

選項

Flag Description
--name <name> 附加元件名稱(預設依範本而定)
--template <type> 附加元件範本: cppcs (預設: cpp
--verbose 啟用冗長輸出

註: 必須從 Electron 專案的根節點執行(包含 package.json的目錄)。

範例:

npx winapp node create-addon
npx winapp node create-addon --name myAddon
npx winapp node create-addon --template cs --name MyCsAddon

node add-electron-debug-identity

利用稀疏封裝為 Electron 除錯流程新增封包識別碼。 建立 的 electron.exe備份,產生稀疏的 MSIX 清單,為可執行檔新增身份,並註冊稀疏套件。 需要一個 Package.appxmanifest(可以使用 winapp initwinapp manifest generate 來建立)。

npx winapp node add-electron-debug-identity [options]

選項

Flag Description
--manifest <path> 自訂 Package.appxmanifest 的路徑(預設:Package.appxmanifest 在目前的目錄中)
--no-install 建立套件後不要安裝
--keep-identity 保持顯現身份 as-is,不要加上 .debug 後綴
--verbose 啟用冗長輸出

註: 必須從 Electron 專案的根節點執行(包含 node_modules/electron的目錄)。 要撤銷,請使用 npx winapp node clear-electron-debug-identity

範例:

npx winapp node add-electron-debug-identity
npx winapp node add-electron-debug-identity --manifest ./custom/Package.appxmanifest

node clear-electron-debug-identity

將套件身份從 Electron 除錯過程中移除。 還原從 add-electron-debug-identity 建立的 electron.exe 備份,並移除備份檔案。

npx winapp node clear-electron-debug-identity [options]

選項

Flag Description
--verbose 啟用冗長輸出

註: 必須從 Electron 專案的根節點執行(包含 node_modules/electron的目錄)。

範例:

npx winapp node clear-electron-debug-identity

類型參考

ExecSyncOptions

為了方便從 Node.js 重新匯出。 請參考 Node.js 文件

MsixIdentityOptions

房產 類型 為必填項目 Description
verbose boolean \| undefined No
noInstall boolean \| undefined No
keepIdentity boolean \| undefined No
manifest string \| undefined No

MsixIdentityResult

房產 類型 為必填項目 Description
success boolean Yes

ElectronDebugIdentityResult

房產 類型 為必填項目 Description
success boolean Yes
electronExePath string Yes
backupPath string Yes
manifestPath string Yes
assetsDir string Yes

ClearElectronDebugIdentityResult

房產 類型 為必填項目 Description
success boolean Yes
electronExePath string Yes
restoredFromBackup boolean Yes

CallWinappCliOptions

房產 類型 為必填項目 Description
exitOnError boolean \| undefined No

CallWinappCliResult

房產 類型 為必填項目 Description
exitCode number Yes

CallWinappCliCaptureOptions

房產 類型 為必填項目 Description
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())

CallWinappCliCaptureResult

房產 類型 為必填項目 Description
exitCode number Yes
stdout string Yes
stderr string Yes

GenerateCppAddonOptions

房產 類型 為必填項目 Description
name string \| undefined No
projectRoot string \| undefined No
verbose boolean \| undefined No

GenerateCppAddonResult

房產 類型 為必填項目 Description
success boolean Yes
addonName string Yes
addonPath string Yes
needsTerminalRestart boolean Yes
files string[] Yes

GenerateCsAddonOptions

房產 類型 為必填項目 Description
name string \| undefined No
projectRoot string \| undefined No
verbose boolean \| undefined No

GenerateCsAddonResult

房產 類型 為必填項目 Description
success boolean Yes
addonName string Yes
addonPath string Yes
needsTerminalRestart boolean Yes
files string[] Yes

IfExists

IfExists 價值觀。

type IfExists = "error" | "overwrite" | "skip"

SdkInstallMode

SdkInstallMode 的參數值。

type SdkInstallMode = "stable" | "preview" | "experimental" | "none"

ManifestTemplates

ManifestTemplates 的價值觀。

type ManifestTemplates = "packaged" | "sparse"

CertGenerateOptions

房產 類型 為必填項目 Description
exportCer boolean \| undefined No 匯出一個.cer檔案(僅限公鑰),與 .pfx 一起
ifExists IfExists \| undefined No 當輸出檔存在時的行為:'error'(失敗,預設)、'skip'(保持存在)或「覆寫」(替換)
install boolean \| undefined No 生成之後將憑證安裝到本地機器儲存
json boolean \| undefined No 格式輸出為 JSON
manifest string \| undefined No 前往 Package.appxmanifest 或 appxmanifest.xml 檔案的路徑,以擷取發行者資訊。
output string \| undefined No 產生的 PFX 檔案輸出路徑
password string \| undefined No 產生的 PFX 檔案密碼
publisher string \| undefined No 產生憑證的 Publisher 名稱。 若未特別說明,則會從清單推斷。
validDays number \| undefined No 證書有效天數
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

CertInfoOptions

房產 類型 為必填項目 Description
certPath string Yes 憑證檔案路徑(PFX)
json boolean \| undefined No 格式輸出為 JSON
password string \| undefined No PFX 檔案的密碼
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

CertInstallOptions

房產 類型 為必填項目 Description
certPath string Yes 憑證檔案(PFX 或 CER)的路徑
force boolean \| undefined No 即使憑證已存在,也要強制安裝
password string \| undefined No PFX 檔案的密碼
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

CreateDebugIdentityOptions

房產 類型 為必填項目 Description
entrypoint string \| undefined No 需要以身份碼或入口腳本執行的 .exe 路徑。
keepIdentity boolean \| undefined No 請保持清單中的套件身份不變,並且不要在套件名稱和應用程式 ID 後加上「.debug」。
manifest string \| undefined No 到 Package.appxmanifest 或 appxmanifest.xml 的路徑
noInstall boolean \| undefined No 建立套件後不要安裝。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

CreateExternalCatalogOptions

房產 類型 為必填項目 Description
inputFolder string Yes 包含可執行檔案進行處理的輸入資料夾清單(以分號分隔)
computeFlatHashes boolean \| undefined No 產生目錄時包含平面哈希值
ifExists IfExists \| undefined No 輸出檔已存在時的行為
output string \| undefined No 輸出目錄文件路徑。 若未指定,則使用預設 CodeIntegrityExternal.cat 名稱。
recursive boolean \| undefined No 包含來自子目錄中的檔案
usePageHashes boolean \| undefined No 產生目錄時請包含頁面雜湊值
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

GetWinappPathOptions

房產 類型 為必填項目 Description
global boolean \| undefined No 取得全域的 .winapp 目錄,而不是本地
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

InitOptions

房產 類型 為必填項目 Description
baseDirectory string \| undefined No Winapp 工作區的基礎/根目錄,供使用者或安裝使用。
configDir string \| undefined No 目錄用以讀取/儲存設定(預設:目前目錄)
configOnly boolean \| undefined No 只處理設定檔操作(缺少設定檔則建立,存在則驗證)。 跳過套件安裝和其他工作區設定步驟。
ignoreConfig boolean \| undefined No 不要用設定檔來管理版本
noGitignore boolean \| undefined No 不要更新 .gitignore 檔案
setupSdks SdkInstallMode \| undefined No SDK 安裝模式:「stable」(預設)、 「preview」、「experimental」或「none」(跳過 SDK 安裝)
useDefaults boolean \| undefined No 不要顯示任何提示,並對所有提示使用預設設定
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

ManifestAddAliasOptions

房產 類型 為必填項目 Description
appId string \| undefined No 用來新增別名的應用程式 ID(預設:第一個應用程式元素)
manifest string \| undefined No 路徑至 Package.appxmanifest 或 appxmanifest.xml 檔案(預設:搜尋目前目錄)
name string \| undefined No 別名(例如「myapp.exe」)。 預設:從清單中的可執行檔屬性推斷。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

ManifestGenerateOptions

房產 類型 為必填項目 Description
directory string \| undefined No 目錄用來生成 manifest 文件
description string \| undefined No 安裝時及 Windows 設定中顯示的人類可讀應用程式說明
executable string \| undefined No 應用程式執行檔的路徑。 預設: <套件名稱>.exe
ifExists IfExists \| undefined No 當輸出檔存在時的行為:'error'(失敗,預設)、'skip'(保持存在)或「覆寫」(替換)
logoPath string \| undefined No Logo 影像檔案的路徑
packageName string \| undefined No 套件名稱(預設:資料夾名稱)
publisherName string \| undefined No Publisher CN(預設:CN=<目前使用者>)
template ManifestTemplates \| undefined No 清單範本類型:「packaged」(完整 MSIX 應用程式,預設)或「sparse」(具有套件識別的桌面應用程式,用於 Windows API)。
version string \| undefined No 應用程式版本為 Major.Minor.Build.Revision 格式(例如 1.0.0.0)。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

ManifestUpdateAssetsOptions

房產 類型 為必填項目 Description
imagePath string Yes 來源圖片檔案的路徑(SVG、PNG、ICO、JPG、BMP、GIF)
lightImage string \| undefined No 淺色主題變體(SVG、PNG、ICO、JPG、BMP、GIF)的來源影像路徑
manifest string \| undefined No 路徑至 Package.appxmanifest 或 appxmanifest.xml 檔案(預設:搜尋目前目錄)
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

PackageOptions

房產 類型 為必填項目 Description
inputFolder string Yes 輸入資料夾與套件配置
cert string \| undefined No 簽署憑證的路徑(若提供將自動簽署)
certPassword string \| undefined No 憑證密碼(預設:password)
executable string \| undefined No 相對於輸入資料夾的執行檔路徑。
generateCert boolean \| undefined No 產生新的開發證書
installCert boolean \| undefined No 將憑證安裝到機器
manifest string \| undefined No AppX 清單檔案的檔案路徑(預設:自動偵測來自輸入的資料夾或目前目錄)
name string \| undefined No 套件名稱(預設:來自清單)
output string \| undefined No 產生套件的輸出 msix 檔案名稱(預設為名稱版本架構.msix,如果無法確定版本或架構,則依次退回到名稱版本.msix、名稱架構.msix,或名稱.msix)
publisher string \| undefined No 用於憑證產生的發行者名稱
selfContained boolean \| undefined No 捆綁 Windows 應用程式 SDK 執行環境以實現自包含部署
skipPri boolean \| undefined No 跳過 PRI 檔案產生
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

RestoreOptions

房產 類型 為必填項目 Description
baseDirectory string \| undefined No Winapp 工作區的 Base/root 目錄
configDir string \| undefined No 讀取設定的目錄(預設:目前目錄)
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

RunOptions

房產 類型 為必填項目 Description
inputFolder string Yes 輸入資料夾,包含要執行的應用程式
args string \| undefined No 用來傳遞給應用程式的命令列參數
clean boolean \| undefined No 在重新部署前,先移除現有套件的應用程式資料(LocalState、設定等)。 預設情況下,應用程式資料會在重新部署過程中被保留。
debugOutput boolean \| undefined No 擷取從啟動的應用程式中傳送的 OutputDebugString 訊息和 first-chance 例外。 同一時間只能連接一個除錯器,因此無法同時使用其他除錯器(如 Visual Studio、VS Code)。 如果需要附加不同的除錯器,可以改用 --no-launch。 不能和 --no-launch 或 --json 合併使用。
detach boolean \| undefined No 啟動應用程式後立即返回,不要等它退出。 對於需要在啟動後與應用程式互動的 CI/自動化來說很有用。 會把 PID 列印成標準碼(或用 --json 格式的 JSON)。
json boolean \| undefined No 格式輸出為 JSON
manifest string \| undefined No 到 Package.appxmanifest 的路徑(預設:自動偵測輸入資料夾或目前目錄)
noLaunch boolean \| undefined No 只建立除錯身份並註冊套件,無需啟動應用程式
outputAppxDirectory string \| undefined No 靈活配置包的輸出目錄。 若未指定,則會使用輸入資料夾目錄中名為 AppX 的目錄。
symbols boolean \| undefined No 從 Microsoft Symbol Server 下載符號,以獲得更豐富的原生當機分析。 僅適用於 --debug-output。 首先執行時下載符號並快取到本地;後續執行會使用快取。
unregisterOnExit boolean \| undefined No 應用程式退出後取消註冊開發套件。 只會移除在開發模式下註冊的套件。
withAlias boolean \| undefined No 啟動應用程式時,請使用執行別名,而不是 AUMID 激活。 應用程式在目前的終端機中運行,繼承了 stdin/stdout/stderr。 需要在清單中加入 uap5:ExecutionAlias。 使用「winapp manifest add-alias」來為清單新增執行別名。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

SignOptions

房產 類型 為必填項目 Description
filePath string Yes 要簽署的檔案/套件路徑
certPath string Yes 憑證檔案路徑(PFX 格式)
password string \| undefined No 憑證密碼
timestamp string \| undefined No 時間戳伺服器網址
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

StoreOptions

房產 類型 為必填項目 Description
storeArgs string[] \| undefined No 這些論點將傳遞給 Microsoft Store 開發者 CLI。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

ToolOptions

房產 類型 為必填項目 Description
toolArgs string[] \| undefined No 要傳遞給 SDK 工具的參數,例如 ['makeappx', 'pack', '/d', './folder', '/p', './out.msix']。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiClickOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語義子串(例如 btn-minimize-d1a0)或以名稱/自動化ID搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出窗戶。
double boolean \| undefined No 請雙擊而非單擊
json boolean \| undefined No 格式輸出為 JSON
right boolean \| undefined No 請用右鍵點擊代替左鍵
window number \| undefined No 目標視窗以 HWND 為標識(穩定的窗口控制碼來源自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiFocusOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語義子串(例如 btn-minimize-d1a0)或以名稱/自動化ID搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出窗戶。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗以 HWND 為標識(穩定的窗口控制碼來源自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiGetFocusedOptions

房產 類型 為必填項目 Description
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出窗戶。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗以 HWND 為標識(穩定的窗口控制碼來源自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiGetPropertyOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語義子串(例如 btn-minimize-d1a0)或以名稱/自動化ID搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出窗戶。
json boolean \| undefined No 格式輸出為 JSON
property string \| undefined No 要閱讀或篩選的屬性名稱
window number \| undefined No 目標視窗以 HWND 為標識(穩定的窗口控制碼來源自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiGetValueOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語意字串(例如 btn-minimize-d1a0)或使用名稱/automationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiInspectOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語意字元(例如 btn-minimize-d1a0)或依名稱/自動化ID進行搜尋的文字
ancestors boolean \| undefined No 從指定的元素向上遍歷到樹的根節點
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
depth number \| undefined No 樹木檢查深度
hideDisabled boolean \| undefined No 隱藏禁用元素使其不在輸出中顯示
hideOffscreen boolean \| undefined No 將畫面外元素從輸出中隱藏
interactive boolean \| undefined No 只顯示互動式/可調用的元素(按鈕、連結、輸入、清單項目)。 將預設深度增加到 8。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 隱藏進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiInvokeOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語意字條(例如 btn-minimize-d1a0)或以名稱/automationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 列出窗口以解決歧義。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiListWindowsOptions

房產 類型 為必填項目 Description
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果存在歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
quiet boolean \| undefined No 隱藏進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiScreenshotOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語意識別碼(例如 btn-minimize-d1a0)或根據名稱或自動化ID搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
captureScreen boolean \| undefined No 從螢幕擷取(包含彈出視窗/疊加層)取代視窗渲染。 先將視窗顯示在最前面。
json boolean \| undefined No 格式輸出為 JSON
output string \| undefined No 儲存輸出到檔案路徑(例如截圖)
window number \| undefined No 目標視窗通過 HWND 確定(穩定的句柄來自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiScrollOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語意字條(例如 btn-minimize-d1a0)或以名稱/automationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
direction string \| undefined No 捲動方向:上、下、左、右
json boolean \| undefined No 格式輸出為 JSON
to string \| undefined No 捲動到位置:頂部、底部
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 隱藏進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiScrollIntoViewOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語意片段(例如 btn-minimize-d1a0)或根據名稱/automationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 透過 HWND(列表輸出的穩定 handle)來鎖定目標視窗。 該指令優先於 --app。
quiet boolean \| undefined No 隱藏進度消息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiSearchOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語義字串(例如 btn-minimize-d1a0)或以名稱/automationId 搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 當有不明確情況時,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
max number \| undefined No 最大搜尋結果
window number \| undefined No 目標視窗使用 HWND 來指定(穩定的 handle 來自列表輸出)。 此設定優先於 --app。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiSetValueOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語義短句(例如 btn-minimize-d1a0)或按名稱/automationId 搜尋的文字
value string \| undefined No 要設定的數值(TextBox/ComboBox 的文字,滑桿的數字)
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 目標視窗由 HWND 建立(穩定 handle 來自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiStatusOptions

房產 類型 為必填項目 Description
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出視窗。
json boolean \| undefined No 格式輸出為 JSON
window number \| undefined No 透過 HWND 取得目標視窗(穩定把柄來自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 隱藏進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UiWaitForOptions

房產 類型 為必填項目 Description
selector string \| undefined No 語義子串(例如 btn-minimize-d1a0)或以名稱/自動化ID搜尋的文字
app string \| undefined No 目標應用程式(程序名稱、視窗標題或 PID)。 如果有歧義,會列出窗戶。
contains boolean \| undefined No 使用子字串匹配 --value,而非完全匹配
gone boolean \| undefined No 等待元素消失而非出現
json boolean \| undefined No 格式輸出為 JSON
property string \| undefined No 要閱讀或篩選的屬性名稱
timeout number \| undefined No 以毫秒計時
value string \| undefined No 等待元素值等於這個字串。 使用智慧回退機制(TextPattern -> ValuePattern -> 名稱)。 將 ---property 結合,以檢查特定房產。
window number \| undefined No 目標視窗以 HWND 為標識(穩定的窗口控制碼來源自列表輸出)。 優先於 --app。
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UnregisterOptions

房產 類型 為必填項目 Description
force boolean \| undefined No 跳過安裝位置目錄檢查,即使套件是從其他專案樹註冊,也要取消註冊
json boolean \| undefined No 格式輸出為 JSON
manifest string \| undefined No Package.appxmanifest 的路徑(預設:自動偵測自目前目錄)
quiet boolean \| undefined No 抑制進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。

UpdateOptions

房產 類型 為必填項目 Description
setupSdks SdkInstallMode \| undefined No SDK 安裝模式:「stable」(預設)、 「preview」、「experimental」或「none」(跳過 SDK 安裝)
quiet boolean \| undefined No 隱藏進度訊息。
verbose boolean \| undefined No 啟用冗長輸出。
cwd string \| undefined No CLI 程序的工作目錄(預設為 process.cwd())。