啟用來自傳統型應用程式的快顯通知
封裝和未封裝的 Win32 應用程式可以傳送互動式快顯通知,就像 UWP 應用程式一樣。 這包括封裝應用程式 (請參閱為已封裝的 WinUI 3 桌面應用程式建立新專案)、使用外部位置的封裝應用程式 (請參閱使用外部位置進行封裝以授與封裝身分識別),以及未封裝應用程式 (請參閱為未封裝 WinUI 3 桌面應用程式建立新專案)。
不過,若是未封裝 Win32 應用程式,則要進行一些特殊步驟。 這是因為啟用方案不同,以及執行時期缺少封裝身分識別。
在本主題中,我們會列出可在 Windows 10 上傳送快顯通知的選項。 每個選項都完全支援...
- 保存在重要訊息中心內
- 從快顯視窗和重要訊息中心內啟動
- 在 EXE 未執行時啟動
所有選項
下表說明桌面應用程式內支援快顯的選項,以及對應的支援功能。 您可以使用此表選取最適合您情境的選項。
選項 | 視覺效果 | 動作 | 輸入 | 同處理序啟動 |
---|---|---|---|---|
COM 啟動器 | ✔️ | ✔️ | ✔️ | ✔️ |
無 COM/虛設 CLSID | ✔️ | ✔️ | ❌ | ❌ |
偏好選項 - COM 啟動器
這是適用於桌面應用程式的偏好選項,且可支援所有通知功能。 不必擔心「COM 啟動器」,我們提供了 C# 和 C++ 應用程式的程式庫,使用起來相當直接了當,即使您未曾撰寫過 COM 伺服器也沒問題。
視覺效果 | 動作 | 輸入 | 同處理序啟動 |
---|---|---|---|
✔️ | ✔️ | ✔️ | ✔️ |
使用 COM 啟動器選項,即可在您的應用程式中使用下列通知範本和啟用類型。
範本和啟用類型 | 封裝 | 未封裝 |
---|---|---|
ToastGeneric 前景 | ✔️ | ✔️ |
ToastGeneric 背景 | ✔️ | ✔️ |
ToastGeneric 通訊協定 | ✔️ | ✔️ |
舊版範本 | ✔️ | ❌ |
注意
如果您將 COM 啟動器新增至現有的封裝應用程式,則前景/背景和舊版通知啟用將會啟動您的 COM 啟動器,而不是命令列。
若要了解如何使用此選項,請參閱從桌面 C# 應用程式傳送本機快顯通知或從 Win32 C++ WRL 應用程式傳送本機快顯通知。
替代選項 - 無 COM/虛設 CLSID
這時無法實作 COM 啟動器時的替代選項。 不過,這樣會犧牲一些功能,例如輸入支援 (快顯上的文字方塊) 和同處理序啟動。
視覺效果 | 動作 | 輸入 | 同處理序啟動 |
---|---|---|---|
✔️ | ✔️ | ❌ | ❌ |
使用此選項時,如果支援桌面,則可以使用的通知範本和啟用類型會受到更多限制,如下所示。
範本和啟用類型 | 封裝 | 未封裝 |
---|---|---|
ToastGeneric 前景 | ✔️ | ❌ |
ToastGeneric 背景 | ✔️ | ❌ |
ToastGeneric 通訊協定 | ✔️ | ✔️ |
舊版範本 | ✔️ | ❌ |
若是封裝應用程式,直接傳送快顯通知,就如同 UWP 應用程式。 當使用者按一下快顯時,您的應用程式將會使用您在快顯中指定的啟動引數,從命令列啟動。
若是未封裝應用程式,請設定 AUMID 以便傳送快顯,然後也要在捷徑上指定 CLSID。 可以是任何隨機 GUID。 請勿新增 COM 伺服器/啟動器。 您要新增的是「虛設」COM CLSID,這樣就會讓重要訊息中心保存通知。 請注意,您只能使用通訊協定啟用快顯,因為虛設 CLSID 會中斷任何其他快顯啟用方式的啟用過程。 因此,您必須更新應用程式以支援通訊協定啟用,並且讓快顯的通訊協定啟動您自己的應用程式。