封裝和解壓縮的 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 可能會導致其他類型的快顯通知無法正常啟動。 因此,您必須更新應用程式以支援通訊協定啟用,並讓快顯通知的通訊協定啟用您自己的應用程式。