共用方式為


從桌面應用程式啟用快顯通知

封裝和解壓縮的 Win32 應用程式可以傳送互動式快顯通知,就像 UWP app 可以一樣。 這包括已封裝的應用程式(請參閱 為已封裝的 WinUI 3 傳統型應用程式建立新專案):具有外部位置的已封裝應用程式(請參閱 使用外部位置封裝來授與套件身分識別):和解壓縮的應用程式(請參閱 為未封裝的 WinUI 3 傳統型應用程式建立新專案)。

不過,針對未封裝的 Win32 應用程式,有一些特殊步驟。 這是因為不同的啟用方案,以及執行時缺少套件身分識別。

在本主題中,我們會列出您在 Windows 10 上發送吐司通知的選項。 每個選項都完全支援...

  • 持續存在於動作中心
  • 可從快顯視窗和操作中心內部啟用
  • 即使您的 EXE 未執行,功能仍可啟用。

所有選項

下表說明您在桌面應用程式中支援桌面通知的選擇方案,及其對應的支援功能。 您可以使用資料表來選取案例的最佳選項。

Option Visuals Actions Inputs 在進程中啟用
COM啟動器 Supported Supported Supported Supported
沒有 COM / Stub CLSID Supported Supported 不支援 不支援

慣用選項 - COM 啟動器

這是適用於傳統型應用程式的慣用選項,並支援所有通知功能。 不要害怕「COM 啟動器」。我們有 C#C++ 應用程式 的程式庫,這使得這一過程變得非常簡單,即使您之前從未撰寫過 COM 伺服器。

Visuals Actions Inputs 在處理過程中啟動
Supported Supported Supported Supported

使用 COM 啟動器選項,您可以在應用程式中使用下列通知範本和啟用類型。

範本和啟用類型 Packaged Unpackaged
Toast Generic 前景色 Supported Supported
ToastGeneric 背景 Supported Supported
ToastGeneric 協定 Supported Supported
舊有範本 Supported 不支援

Note

如果您將 COM 啟動器新增至現有的已封裝應用程式,則 Foreground/Background 和 Legacy 通知啟用將會啟動 COM 啟動程式,而不是命令行。

若要瞭解如何使用此選項,請參閱從桌面 C# 應用程式傳送本機快顯通知從 Win32 C++ WRL 應用程式傳送本機快顯通知

替代選項 - 沒有 COM / Stub CLSID

如果您無法實作 COM 啟動器,這是替代選項。 不過,您將犧牲一些功能,例如輸入支援(快顯通知上的文字框)和啟用內嵌流程。

Visuals Actions Inputs 在進程中啟用
Supported Supported 不支援 不支援

使用此選項時,如果您支援桌面計算機,則您可以在可以使用的通知範本和啟用類型中受到更多限制,如下所示。

範本和啟用類型 Packaged Unpackaged
ToastGeneric 前景 Supported 不支援
ToastGeneric 背景 Supported 不支援
ToastGeneric 協定 Supported Supported
舊有範本 Supported 不支援

針對已封裝的應用程式,只要傳送類似 UWP 應用程式的快顯通知即可。 當使用者按下快顯通知時,您的應用程式將會以您在快顯通知中指定的啟動自變數啟動命令行。

針對未封裝的應用程式,請設定 AUMID,使您可以傳送通知訊息,然後在捷徑上指定 CLSID。 那可以是任何一個隨機的全球唯一標識符(GUID)。 請勿新增 COM 伺服器/啟動器。 您正在新增「存根」COM CLSID,這會導致控制中心保存通知。 請注意,您只能使用協議啟動的快顯通知,因為使用存根 CLSID 可能會導致其他類型的快顯通知無法正常啟動。 因此,您必須更新應用程式以支援通訊協定啟用,並讓快顯通知的通訊協定啟用您自己的應用程式。

Resources