如何在 Windows 10 中設定電源線連接和斷開的提醒

若要在電源線連接或斷開時收到桌面警報,請在 Windows PowerShell 中執行一個小型監視腳本。此腳本每兩秒檢查一次電腦的交流電源狀態,並在狀態變更時顯示通知,同時播放標準的 Windows 星號提示音。它使用 Windows PowerShell 5.1 和 Windows 內建的 Windows Forms,因此無需單獨下載 AutoHotkey。該腳本必須在您已登入的桌面工作階段中保持運行,且電腦必須報告已知的電源狀態。

警報可以偵測到什麼

腳本讀取了SystemInformation.PowerStatus.PowerLineStatus以下內容。微軟文件中列出了三個可能的值:Online線上、Offline離線和Unknown電池。在筆記型電腦上,「線上」通常表示已連接外部交流電源,「離線」表示系統正在使用電池供電。如果計算機報告“未知”,腳本將保持靜默,而不是進行猜測。請參閱微軟關於SystemInformation.PowerStatus和PowerLineStatus 值的文件。

此程式會偵測交流電源和電池之間的切換。它不會報告電池是否正在充電,也無法在 Windows 系統關機時通知您。由於它每兩秒鐘檢查一次,因此兩次檢查之間可能會發生非常短暫的變化。如果電腦進入睡眠狀態,則只有在喚醒後,當報告的狀態與腳本上次偵測到的狀態不同時,才能注意到這種變化。

建立 PowerShell 腳本

  1. 開啟記事本,貼上以下完整腳本。
  2. 選擇“檔案”>“另存為”。將其儲存到“文件”資料夾中PowerCableAlerts.ps1。將「儲存類型」設為「所有檔案 (*.*)」,這樣記事本就不會新增隱藏的.txt副檔名。
  3. 請使用常規的 Windows PowerShell 應用程式執行下列步驟。範例使用的是 Windows Forms,該元件在 Windows PowerShell 5.1 中可用。
打開記事本窗口,PowerCableAlerts.ps1 檔案已打開,並附有一條註釋,描述了電源狀態警報腳本。
將腳本儲存為記事本中的 .ps1 檔案。
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$notify = New-Object System.Windows.Forms.NotifyIcon
$notify.Icon = [System.Drawing.SystemIcons]::Information
$notify.Visible = $true
$notify.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Info
$notify.Text = "Power cable alert monitor"

$previous = [System.Windows.Forms.SystemInformation]::PowerStatus.PowerLineStatus

try {
    while ($true) {
        $current = [System.Windows.Forms.SystemInformation]::PowerStatus.PowerLineStatus

        if (($current -ne [System.Windows.Forms.PowerLineStatus]::Unknown) -and
            ($previous -ne [System.Windows.Forms.PowerLineStatus]::Unknown) -and
            ($current -ne $previous)) {

            if ($current -eq [System.Windows.Forms.PowerLineStatus]::Online) {
                $notify.BalloonTipTitle = "Power cable connected"
                $notify.BalloonTipText = "AC power is connected."
            }
            elseif ($current -eq [System.Windows.Forms.PowerLineStatus]::Offline) {
                $notify.BalloonTipTitle = "Power cable disconnected"
                $notify.BalloonTipText = "The computer is running on battery."
            }

            $notify.ShowBalloonTip(10000)
            [System.Media.SystemSounds]::Asterisk.Play()
        }

        $previous = $current
        [System.Windows.Forms.Application]::DoEvents()
        Start-Sleep -Seconds 2
    }
}
finally {
    $notify.Visible = $false
    $notify.Dispose()
}

首次狀態讀取用作基線,因此腳本不會通知啟動時已存在的連線。它會在後續狀態變更時發出警報。通知使用 Windows FormsNotifyIcon元件及其ShowBalloonTip方法;Windows 可依其設定調整通知的可見時長。請參閱 Microsoft 的NotifyIcon 概述和ShowBalloonTip 參考文件。

運行並測試這兩個警報。

  1. 從「開始」功能表開啟Windows PowerShell。無需以管理員身份執行。
  2. 僅限本次會話,允許腳本運行,然後啟動它:
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
    & "$env:USERPROFILE\Documents\PowerCableAlerts.ps1"
  3. 保持 PowerShell 視窗開啟。拔下電源線,等待幾秒鐘,直到出現斷開連接的警報;重新連接電源線,檢查是否出現連接成功的警報。若要停止腳本,請在該視窗中按Ctrl+C 。
Windows PowerShell 控制台顯示一條命令,用於從「文件」資料夾執行 PowerCableAlerts.ps1 檔案。
第一次測試時,請在常規 Windows PowerShell 工作階段中執行腳本。

執行Process策略範圍僅適用於目前 PowerShell 進程,並在該進程關閉時失效。它不會永久更改電腦的策略。 Microsoft 在about_Execution_Policies中對範圍進行了說明。如果工作或學校策略阻止了該命令,請遵循管理員規則,而不是更改電腦範圍的設定。

Windows 10 通知顯示「電源線已斷開,交流電源已斷開」。
當腳本偵測到電源從交流電切換到電池時,會顯示斷開連接的警報。

登入時自動開啟提醒

  1. 從「開始」功能表搜尋「任務規劃程式」,然後選擇「建立基本任務」。
  2. 將任務命名為「電源線警報」。將觸發器設定為「登入時」,然後選擇「啟動程序」作為操作。
  3. 在“程序/腳本”中,輸入powershell.exe。在「新增參數」中,輸入以下內容,並將 替換YourName為您的 Windows 使用者資料夾名稱:
    -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Users\YourName\Documents\PowerCableAlerts.ps1"
  4. 精靈完成後,開啟任務屬性,選擇「僅在使用者登入時執行」。這樣腳本就會保留在您的桌面會話中,以便顯示通知。執行一次進行測試,然後登出並重新登入以確認是否自動啟動。
任務規劃程式建立基本任務精靈,並選擇「當我登入時」觸發器
選擇登入觸發器,以便監視器在您的桌面工作階段啟動時執行。

若要停止自動警報,請開啟任務規劃程序,以滑鼠右鍵按一下「電源線警報」,然後選擇「停用」。若要結束目前正在執行的排程任務,請選擇該任務的「結束」選項。如果您只想暫時暫停該任務,只需停用它即可;下次登入時,該任務將不會啟動,直到您再次啟用它為止。

如果沒有出現通知

  • 檢查“設定”>“系統”>“通知和操作”。開啟通知功能,並確保「專注助理」未封鎖橫幅通知。橫幅消失後,通知可能仍會在操作中心顯示。
  • 確認腳本仍在運行。手動啟動的腳本會在您關閉 PowerShell 視窗時退出。對於排程任務,請檢查任務規劃程式中該任務的狀態。
  • 如果在拔掉電源線並重新連接後沒有出現警報,則裝置可能正在返回Unknown其電源線狀態。此 API 會報告 Windows 從硬體接收的狀態,因此當該狀態不可用時,腳本無法建立可靠的連線/中斷連線警報。
  • 如果彈出視窗出現但沒有聲音,請檢查 Windows 的音量和聲音設定。該腳本播放的是 Asterisk 的標準聲音,而不是自訂音訊檔案。

Windows 10 支援:微軟已於 2025 年 10 月 14 日停止對 Windows 10 的常規支援。該作業系統仍可運行,但不再接收常規安全性更新;請查看微軟關於不受支援的 Windows 版本的支援指南。

留下評論

使用 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 如何追蹤應用程式使用情況、活躍時間和空閒時間以及文檔,然後將您的活動歷史記錄轉換為專案標籤和時間表。