Dela via


Aktivera toastnotifikationer från skrivbordsappar

Paketerade och uppackade Win32-appar kan skicka interaktiva toastaviseringar precis som UWP-appar gör. Det inkluderar paketerade appar (se Skapa ett nytt projekt för en paketerad WinUI 3-skrivbordsapp); paketerade appar med extern plats (se Bevilja paketidentitet genom att paketera med extern plats); och packa upp appar (se Skapa ett nytt projekt för en uppackad WinUI 3-skrivbordsapp).

Dock finns det några särskilda steg för en uppackad Win32-app. Det beror på de varierande aktiveringsscheman och bristen på paketidentitet under körning.

I det här avsnittet listar vi de alternativ som du har för att skicka en toast-avisering i Windows 10. Alla alternativ har fullt stöd för...

  • Ihållande i Åtgärdscenter
  • Aktiveras från både popup-fönstret och i Åtgärdscenter
  • Aktiveras när exe-filen inte körs

All options

Tabellen nedan illustrerar dina alternativ för att stödja toast-meddelanden i din skrivbordsapp och de motsvarande funktioner som stöds. Du kan använda tabellen för att välja det bästa alternativet för ditt scenario.

Option Visuals Actions Inputs Activates in-process
COM activator Supported Supported Supported Supported
Ingen COM/Stub CLSID Supported Supported Not supported Not supported

Önskat alternativ – COM-aktivator

Det här är det föredragna alternativet som fungerar för skrivbordsappar och som stöder alla meddelandefunktioner. Var inte rädd för "COM-aktivatorn"; Vi har ett bibliotek för C#- och C++-appar som gör detta mycket enkelt, även om du aldrig har skrivit en COM-server tidigare.

Visuals Actions Inputs Activates in-process
Supported Supported Supported Supported

Med alternativet COM-aktivering kan du använda följande meddelandemallar och aktiveringstyper i din app.

Mall- och aktiveringstyp Packaged Unpackaged
ToastGeneric Foreground Supported Supported
ToastGeneric Background Supported Supported
ToastGeneric Protocol Supported Supported
Legacy templates Supported Not supported

Note

Om du lägger till COM-aktivatorn i din befintliga paketerade app aktiverar Aktivering av förgrunds-/bakgrunds- och äldre meddelanden din COM-aktivator i stället för kommandoraden.

Mer information om hur du använder det här alternativet finns i Skicka ett lokalt popup-meddelande från C#-skrivbordsappar eller Skicka ett lokalt popup-meddelande från Win32 C++ WRL-appar.

Alternativ – Ingen COM/Stub CLSID

Det här är ett alternativt alternativ om du inte kan implementera en COM-aktivator. Du kommer dock att offra några funktioner, till exempel stöd för indata (textrutor på popup-objekt) och aktivering i processen.

Visuals Actions Inputs Activates in-process
Supported Supported Not supported Not supported

Med det här alternativet, om du stöder skrivbordet, är du mycket mer begränsad i de notifikationsmallar och aktiveringstyper som du kan använda, vilket framgår nedan.

Mall- och aktiveringstyp Packaged Unpackaged
ToastGeneric Foreground Supported Not supported
ToastGeneric Background Supported Not supported
ToastGeneric Protocol Supported Supported
Legacy templates Supported Not supported

För paketerade appar, skicka toastaviseringar precis som en UWP-app skulle göra. När användaren klickar på din avisering, kommer appen att startas från kommandoraden med de startparametrar som du angav i aviseringen.

För uppackade appar konfigurerar du AUMID så att du kan skicka aviseringar, och specificera sedan även ett CLSID för din genväg. Det kan vara vilket som helst slumpmässigt GUID. Lägg inte till COM-servern/aktivatorn. Du lägger till ett "stub" COM CLSID, vilket gör att Action Center bevarar meddelandet. Observera att du endast kan använda protokollaktiverings toasts eftersom stub CLSID bryter aktiveringen av andra popup-aktiveringar. Därför måste du uppdatera din app för att stödja protokollaktivering och låta notisprotokollet aktivera din egen app.

Resources