如何在 Windows 10 中顯示訊息框(PowerShell 和批次)

若要在 Windows 10 上顯示自訂訊息框,請從 Windows PowerShell 呼叫內建的 Windows FormsMessageBox.Show方法。您可以從終端機執行一次,也可以將其儲存為可重複使用的.bat檔案.ps1。無需在已登入的桌面會話中使用管理員帳戶。

訊息框是一種模態對話框,它會保持開啟狀態直到關閉,並且可能會阻止使用者與其擁有者進行互動。它與 Toast 通知不同。微軟的MessageBox.Show 參考文件列出了 message、caption、button 和 icon 參數。

選擇訊息的顯示方式

  • 一次性對話框:在 PowerShell 中執行一個簡短的命令。
  • 從命令提示字元執行:使用 . 啟動 Windows PowerShell powershell.exe。
  • 稍後可重複使用:將命令儲存為批次檔或 PowerShell 腳本。

這些範例使用 Windows PowerShell 和System.Windows.FormsWindows 系統自帶的組件。此指令會載入該程式集,然後指定訊息、標題、「確定」按鈕和資訊圖示。

建立可重複使用的批次文件

  1. 從「開始」功能表開啟記事本。這個簡短的腳本只需要一個空白文檔即可。
    一個空白的記事本窗口,遊標位於文件開頭。
    輸入腳本前,請先開啟一個空白的記事本文檔。
  2. 貼上這兩行程式碼:
    @echo off
    powershell.exe -NoProfile -Command "Add-Type -AssemblyName System.Windows.Forms; [void][System.Windows.Forms.MessageBox]::Show('Backup complete.', 'Backup status', [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Information)"
    記事本中輸入批次檔的開頭幾行:@echo off 和一個 PowerShell 指令。
    該批次檔啟動 PowerShell 時未載入設定檔。
  3. Backup complete.將文字和Backup status標題更改為您想要的內容。兩個字串都需用單引號括起來。明確的按鈕和圖示值使對話框的行為可預測;[void]由於此範例僅需顯示對話框,因此無需使用方法的回傳值。
    記事本顯示了一個 Windows 窗體訊息框調用,其中包含自訂標題、訊息、確定按鈕和資訊圖示。
    在 MessageBox.Show 呼叫中設定訊息和標題。
  4. 選擇“檔案”>“另存為”。輸入ShowMessage.bat檔案名,選擇「所有檔案」作為檔案類型,然後將其儲存到易於尋找的位置,例如桌面。如果將文件類型保留為文字文件,記事本可能會將其另存為ShowMessage.bat.txt其他格式。
    在「Windows 另存為」對話方塊中,檔案名稱輸入 ShowMessage.bat,並選擇「所有檔案」。
    儲存時使用 .bat 副檔名,並選擇「所有檔案」。
  5. 開啟已儲存的ShowMessage.bat檔案。此時會彈出一個訊息框;按一下「確定」將其關閉。
    在桌面上選擇“ShowMessage.bat”文件,並使用文件資源管理器進行管理。
    從檔案總管執行已儲存的批次檔。
    Windows 資訊對話框,標題為“備份狀態”,顯示訊息“備份完成”和一個“確定”按鈕。
    自訂訊息框會一直保持開啟狀態,直到選擇「確定」為止。

由於批次檔將 PowerShell 嵌套在帶有引號的命令中,因此請保持文字簡潔,避免在訊息和標題中使用雙引號。

直接在 PowerShell 中執行該命令

  1. 從「開始」功能表開啟Windows PowerShell。
    在命令提示字元下開啟 Windows PowerShell 視窗。
    開啟 Windows PowerShell 執行一次性命令。
  2. 貼上以下命令並按下回車鍵:
    Add-Type -AssemblyName System.Windows.Forms
    [void][System.Windows.Forms.MessageBox]::Show('Backup complete.', 'Backup status', [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Information)
    在 PowerShell 視窗中輸入了 Add-Type 和 MessageBox.Show 指令。
    載入 Windows 窗體,然後呼叫 MessageBox.Show。
  3. 當對話方塊出現時,按一下「確定」 。
    Windows 資訊對話方塊在「備份狀態」標題下顯示「備份完成」。
    PowerShell 指令會顯示所要求的訊息。

若要建立可重複使用的 PowerShell 腳本,請將上述兩行 PowerShell 程式碼儲存到記事本中ShowMessage.ps1,並選擇「所有檔案」。然後運行桌面副本& "$env:USERPROFILE\Desktop\ShowMessage.ps1"。如果執行策略阻止了該腳本,請使用內聯命令或批次文件,而不是更改設備範圍的策略。請參閱 Microsoft 的Add-Type 文件。

顯示來自命令提示字元的訊息

在命令提示字元中,貼上以下一行命令並按Enter 鍵。這將啟動 Windows PowerShell 並將對話方塊程式碼傳遞給它:

powershell.exe -NoProfile -Command "Add-Type -AssemblyName System.Windows.Forms; [void][System.Windows.Forms.MessageBox]::Show('Backup complete.', 'Backup status', [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Information)"
命令提示字元中包含一個 powershell.exe 命令,該命令會呼叫一個 Windows 窗體訊息框。
命令提示字元可以將相同的對話方塊呼叫傳遞給 PowerShell。

對話框會出現在桌面上方;按一下「確定」關閉對話框,然後命令提示字元將返回提示字元介面。此-NoProfile開關會在不載入使用者設定檔的情況下啟動 PowerShell,如 Microsoft 的Windows PowerShell 命令列參考文件中所述。

桌面上會彈出一個名為「備份狀態」的 Windows 資訊訊息框,並帶有「確定」按鈕。
關閉對話框返回命令提示字元。

使用“是”和“否”按鈕

若要提問,請變更按鈕和圖示參數,然後檢查結果。此方法傳回一個值DialogResult,因此您的腳本可以根據答案執行不同的操作:

$answer = [System.Windows.Forms.MessageBox]::Show('Continue with cleanup?', 'Confirm action', [System.Windows.Forms.MessageBoxButtons]::YesNo, [System.Windows.Forms.MessageBoxIcon]::Question)
if ($answer -eq [System.Windows.Forms.DialogResult]::Yes) { 'Continue with cleanup' } else { 'Cancelled' }
Windows確認對話框,標題為“確認操作”,並附有“是”和“否”按鈕。
當腳本需要使用者做出決定時,請使用「是」和「否」。

PowerShell 單引號字串會以字面意思處理大多數字元。如果訊息本身包含撇號,請在字串內部將其加雙引號(例如,`\` 'Don''t close this window')。請參閱 Microsoft 的PowerShell 引號規則。對於批次指令,也請避免在訊息內部使用雙引號,因為該指令嵌套在引號的-Command參數中。

如果訊息框未出現

  • 確認文件以 ..bat或.ps1. 結尾,而非.txt.
  • 請在已登入的桌面會話中執行;服務或非互動式進程可能不會顯示使用者介面。
  • 如果對話方塊可能位於另一個視窗後面,請使用Alt+Tab 鍵。
  • 如果已儲存的腳本失敗,請嘗試使用內聯命令來隔離檔案名稱或引用錯誤。

如果您只需要一個不會中斷目前任務的提醒,請使用 Windows 通知而不是此模態對話方塊。對於必須確認的簡單自訂彈出窗口,上述 PowerShell 方法是最快捷的方式。

留下評論

使用 FotoSketcher 將照片轉換為繪畫、素描和卡通

使用 FotoSketcher 將照片轉換為繪畫、素描和卡通

使用 FotoSketcher Studio 將照片轉換成繪畫、鉛筆素描或卡通。學習如何選擇效果、調整預覽、保存作品。

使用音訊標識符詳細分析和識別音訊文件

使用音訊標識符詳細分析和識別音訊文件

了解音訊標識符揭示的位元率、編碼器和標籤訊息,其傳統工作流程如何運作,以及當前哪些工具可以檢查文件或識別歌曲。

我的照片索引:一款適用於 Windows 的開源照片管理器。

我的照片索引:一款適用於 Windows 的開源照片管理器。

My Photo Index 是一款舊版 Windows 相片目錄管理工具,用於標記、評分和瀏覽本機影像。請查看其文件功能、相容性限制以及一個維護良好的替代方案。

使用屬性變更器變更檔案和資料夾屬性、日期和時間

使用屬性變更器變更檔案和資料夾屬性、日期和時間

學習如何使用屬性變更器安全地編輯 Windows 檔案屬性和時間戳記、更新 JPEG EXIF 照片日期以及預覽批次變更。

如何在 Windows 10 中為每個顯示器設定不同的桌布

如何在 Windows 10 中為每個顯示器設定不同的桌布

為每個 Windows 10 顯示器設定單獨的壁紙,識別顯示器,調整影像適應度,並解決缺少顯示器選擇的問題。

pViewer:一款極簡圖像檢視器和漫畫閱讀器

pViewer:一款極簡圖像檢視器和漫畫閱讀器

了解 pViewer 的功能、照片和漫畫模式的工作原理、應該下載哪個 Windows 版本,以及舊版和重寫版之間的差異。

如何在 Windows 7 和 8 中使用快速鍵切換到下一個桌面背景

如何在 Windows 7 和 8 中使用快速鍵切換到下一個桌面背景

設定 Windows 7 或 8 投影片放映,建立一個小型 VBScript 快捷方式,並指派鍵盤熱鍵來切換到下一張桌布。

NeoDownloader:設定參數並從網站批量下載圖片

NeoDownloader:設定參數並從網站批量下載圖片

學習如何建立 NeoDownloader 專案、選擇爬取範圍、設定映像過濾器和目標位置,以及查看批次下載。

XnConvert:批次應用特效和轉換影像格式

XnConvert:批次應用特效和轉換影像格式

使用 XnConvert 可以批次套用特效、調整照片大小和轉換影像格式。選擇輸出設定、預覽編輯效果並保護您的原始文件。

使用 ManicTime 追蹤工作時間和電腦使用情況

使用 ManicTime 追蹤工作時間和電腦使用情況

了解 ManicTime 如何追蹤應用程式使用情況、活躍時間和空閒時間以及文檔,然後將您的活動歷史記錄轉換為專案標籤和時間表。