Freigeben über


Aktivieren von Popupbenachrichtigungen über Desktop-Apps

Verpackte und entpackte Win32-Apps können interaktive Popupbenachrichtigungen wie UWP-Apps senden. Dazu gehören App-Pakete (siehe Erstellen eines neuen Projekts für ein WinUI 3-Desktop-App-Paket), App-Pakete mit externem Speicherort (siehe Gewähren der Paketidentität durch Verpacken mit externem Speicherort) und nicht gepackte Apps (siehe Erstellen eines neuen Projekts für eine nicht gepackte WinUI 3-Desktop-App).

Für eine entpackte Win32-App gibt es jedoch einige spezielle Schritte. Das liegt an den verschiedenen Aktivierungsschemas und an fehlender Paketidentität zur Runtime.

In diesem Thema werden die Optionen zum Senden einer Popupbenachrichtigung unter Windows 10 aufgeführt. Jede Option unterstützt vollständig...

  • Beibehalten im Info-Center
  • Aktivierbar im Popup und im Info-Center
  • Aktivierbar sein, während Ihre EXE nicht ausgeführt wird

Alle Optionen

In der folgenden Tabelle sind Ihre Optionen für die Unterstützung von Popups in Ihrer Desktop-App und die entsprechenden unterstützten Features dargestellt. Sie können die Tabelle verwenden, um die beste Option für Ihr Szenario auszuwählen.

Option Visuals Aktionen Eingaben Aktiviert im Prozess
COM-Aktivator ✔️ ✔️ ✔️ ✔️
Keine COM/Stub CLSID ✔️ ✔️

Bevorzugte Option – COM-Aktivator

Dies ist die bevorzugte Option, die für Desktop-Apps funktioniert und alle Benachrichtigungsfeatures unterstützt. Keine Angst vor dem "COM-Aktivator"; wir verfügen über eine Bibliothek für C# - und C++-Apps , die dies sehr einfach macht, auch wenn Sie noch nie einen COM-Server geschrieben haben.

Visuals Aktionen Eingaben Aktiviert im Prozess
✔️ ✔️ ✔️ ✔️

Mit der COM-Aktivatoroption können Sie die folgenden Benachrichtigungsvorlagen und Aktivierungstypen in Ihrer App verwenden.

Vorlagen- und Aktivierungstyp Enthalten Unverpackt
ToastGeneric Foreground ✔️ ✔️
ToastGeneric-Hintergrund ✔️ ✔️
ToastGeneric-Protokoll ✔️ ✔️
Legacyvorlagen ✔️

Hinweis

Wenn Sie den COM-Aktivator zu Ihrer vorhandenen verpackten App hinzufügen, aktivieren Vordergrund-/Hintergrund- und Legacybenachrichtigungsaktivierungen Ihren COM-Aktivator anstelle der Befehlszeile.

Informationen zur Verwendung dieser Option finden Sie unter Senden einer lokalen Popupbenachrichtigung aus Desktop-C#-Apps oder Senden einer lokalen Popupbenachrichtigung aus Win32 C++-WRL-Apps.

Alternative Option - Keine COM/Stub CLSID

Dies ist eine alternative Option, wenn Sie keinen COM-Aktivator implementieren können. Sie opfern jedoch einige Features, z. B. Eingabeunterstützung (Textfelder auf Popups) und aktivieren in einem Prozess.

Visuals Aktionen Eingaben Aktiviert im Prozess
✔️ ✔️

Wenn Sie desktops unterstützen, sind Sie bei dieser Option in den Benachrichtigungsvorlagen und Aktivierungstypen, die Sie verwenden können, wesentlich eingeschränkter, wie unten dargestellt.

Vorlagen- und Aktivierungstyp Enthalten Unverpackt
ToastGeneric Foreground ✔️
ToastGeneric-Hintergrund ✔️
ToastGeneric-Protokoll ✔️ ✔️
Legacyvorlagen ✔️

Bei verpackten Apps senden Sie einfach Popupbenachrichtigungen wie eine UWP-App. Wenn der Benutzer auf Ihr Popup klickt, wird ihre App mit den Startargumenten gestartet, die Sie im Popup angegeben haben.

Richten Sie für entpackte Apps die AUMID so ein, dass Sie Popups senden können, und geben Sie dann auch eine CLSID auf der Verknüpfung an. Dies kann eine beliebige zufällige GUID sein. Fügen Sie den COM-Server/Aktivator nicht hinzu. Sie fügen eine "Stub" COM CLSID hinzu, wodurch das Info-Center die Benachrichtigung beibehalten wird. Beachten Sie, dass Sie nur Protokollaktivierungs-Popups verwenden können, da die Stub-CLSID die Aktivierung aller anderen Popupaktivierungen unterbricht. Daher müssen Sie Ihre App aktualisieren, um die Protokollaktivierung zu unterstützen, und das Popupprotokoll muss Ihre eigene App aktivieren.

Ressourcen