Udostępnij za pośrednictwem


Aktywowanie powiadomień typu "toast" z aplikacji komputerowych

Spakowane i rozpakowane aplikacje Win32 mogą wysyłać interakcyjne powiadomienia wyskakujące, podobnie jak aplikacje platformy UWP. Obejmuje to spakowane aplikacje (zobacz Tworzenie nowego projektu dla spakowanej aplikacji klasycznej WinUI 3); spakowane aplikacje z lokalizacją zewnętrzną (zobacz Udzielanie tożsamości pakietu przez pakowanie z lokalizacją zewnętrzną); oraz aplikacje rozpakowane (zobacz Tworzenie nowego projektu dla aplikacji klasycznej WinUI 3 nieopakowanej).

Jednak w przypadku rozpakowanej aplikacji Win32 istnieje kilka specjalnych kroków. Wynika to z różnych schematów aktywacji i braku tożsamości pakietu w czasie wykonywania.

W tym temacie wymieniamy możliwości wysyłania powiadomień toast w systemie Windows 10. Każda opcja w pełni obsługuje...

  • Trwanie w Centrum akcji
  • Możliwość aktywowania zarówno w oknie podręcznym, jak i w Centrum akcji
  • Aktywowanie, gdy plik EXE nie jest uruchomiony

Wszystkie opcje

W poniższej tabeli przedstawiono opcje obsługi powiadomień w aplikacji komputerowej oraz odpowiednie obsługiwane funkcje. Możesz użyć tabeli, aby wybrać najlepszą opcję dla danego scenariusza.

Opcja Wizualizacje Czynności Dane wejściowe Aktywuje w toku
aktywator COM Wspierane Wspierane Wspierane Wspierane
Brak COM / stub CLSID Wspierane Wspierane Niewspierane Niewspierane

Preferowana opcja — aktywator COM

Jest to preferowana opcja, która działa w przypadku aplikacji klasycznych i obsługuje wszystkie funkcje powiadomień. Nie bój się "aktywatora COM"; Mamy bibliotekę dla aplikacji C# i C++ , która sprawia, że jest to bardzo proste, nawet jeśli nigdy wcześniej nie napisałeś serwera COM.

Wizualizacje Czynności Dane wejściowe Aktywuje w toku
Wspierane Wspierane Wspierane Wspierane

Za pomocą opcji aktywatora COM możesz użyć następujących szablonów powiadomień i typów aktywacji w aplikacji.

Typ szablonu i aktywacji Pakowane Bez opakowania
ToastGeneric Foreground Wspierane Wspierane
ToastGeneric — tło Wspierane Wspierane
ToastGeneric Protocol Wspierane Wspierane
Starsze szablony Wspierane Niewspierane

Uwaga / Notatka

Jeśli dodasz aktywator COM do istniejącej spakowanej aplikacji, wtedy aktywacje powiadomień w trybie pierwszoplanowym/tle oraz legacyjne będą uruchamiać twój aktywator COM zamiast wiersza poleceń.

Aby dowiedzieć się, jak używać tej opcji, zobacz Wysyłanie lokalnego powiadomienia toast z aplikacji desktopowych C# lub Wysyłanie lokalnego powiadomienia toast z aplikacji Win32 C++ WRL.

Alternatywna opcja — brak COM / stub CLSID

Jest to alternatywna opcja, jeśli nie można zaimplementować aktywatora COM. Jednak poświęcisz kilka funkcji, takich jak obsługa wprowadzania (pola tekstowe na powiadomieniach) i aktywowanie wewnątrz procesu.

Wizualizacje Czynności Dane wejściowe Aktywuje w toku
Wspierane Wspierane Niewspierane Niewspierane

Przy tej opcji, jeśli obsługujesz pulpit, masz znacznie bardziej ograniczone szablony powiadomień i typy aktywacji, których możesz użyć, jak pokazano poniżej.

Typ szablonu i aktywacji Pakowane Bez opakowania
ToastGeneric Foreground Wspierane Niewspierane
ToastGeneric — tło Wspierane Niewspierane
ToastGeneric Protocol Wspierane Wspierane
Starsze szablony Wspierane Niewspierane

W przypadku spakowanych aplikacji wystarczy wysłać powiadomienia toast, tak jak robi to aplikacja UWP. Gdy użytkownik kliknie komunikat toast, aplikacja zostanie uruchomiona z poziomu linii poleceń z użyciem argumentów uruchomienia, które określiłeś w komunikacie.

W przypadku aplikacji rozpakowanych skonfiguruj identyfikator AUMID, aby można było wysyłać powiadomienia, i następnie określ identyfikator CLSID do skrótu. Może to być dowolny losowy identyfikator GUID. Nie dodawaj serwera COM/aktywatora. Dodajesz "stub" COM CLSID, co spowoduje, że Centrum akcji będzie utrwalać powiadomienie. Należy pamiętać, że można używać tylko powiadomień aktywacyjnych, ponieważ stub CLSID uniemożliwi aktywację jakichkolwiek innych powiadomień. W związku z tym musisz zaktualizować aplikację, aby obsługiwała aktywację protokołu, i sprawić, by protokół powiadomienia toast aktywował Twoją własną aplikację.

Zasoby