Bagikan melalui


Mengaktifkan pemberitahuan toast dari aplikasi desktop

Aplikasi Win32 yang dikemas dan tidak dikemas dapat mengirim pemberitahuan toast interaktif seperti yang dapat dilakukan aplikasi UWP. Itu termasuk aplikasi paket (lihat Membuat proyek baru untuk aplikasi desktop WinUI 3 yang dipaketkan); aplikasi yang dikemas dengan lokasi eksternal (lihat Memberikan identitas paket dengan pengemasan dengan lokasi eksternal); dan aplikasi yang tidak dikemas (lihat Membuat proyek baru untuk aplikasi desktop WinUI 3 yang tidak dikemas).

Namun, untuk aplikasi Win32 yang tidak dikemas ada beberapa langkah khusus. Itu karena skema aktivasi yang berbeda, dan kurangnya identitas paket saat runtime.

Dalam topik ini, kami mencantumkan opsi yang Anda miliki untuk mengirim pemberitahuan toast di Windows 10. Setiap opsi sepenuhnya mendukung...

  • Bertahan di Pusat Tindakan
  • Dapat diaktifkan dari popup dan di dalam Pusat Tindakan
  • Menjadi dapat diaktifkan saat EXE Anda tidak berjalan

Semua opsi

Tabel di bawah ini mengilustrasikan opsi Anda untuk mendukung toast dalam aplikasi desktop Anda, dan fitur yang didukung terkait. Anda dapat menggunakan tabel untuk memilih opsi terbaik untuk skenario Anda.

Opsi Visual Tindakan Input Mengaktifkan dalam proses
Aktivator COM ✔️ ✔️ ✔️ ✔️
Tidak ada COM / Stub CLSID ✔️ ✔️

Opsi yang disukai - Aktivator COM

Ini adalah opsi pilihan yang berfungsi untuk aplikasi desktop, dan mendukung semua fitur pemberitahuan. Jangan takut dengan "aktivator COM"; kami memiliki pustaka untuk aplikasi C# dan C++ yang membuat ini sangat mudah, bahkan jika Anda belum pernah menulis server COM sebelumnya.

Visual Tindakan Input Mengaktifkan dalam proses
✔️ ✔️ ✔️ ✔️

Dengan opsi pengaktif COM, Anda dapat menggunakan templat pemberitahuan dan jenis aktivasi berikut di aplikasi Anda.

Jenis templat dan aktivasi Dikemas Tidak dikemas
Latar Depan ToastGeneric ✔️ ✔️
Latar Belakang ToastGeneric ✔️ ✔️
Protokol ToastGeneric ✔️ ✔️
Templat warisan ✔️

Catatan

Jika Anda menambahkan aktivator COM ke aplikasi paket yang ada, aktivasi pemberitahuan Latar Depan/Latar Belakang dan Warisan akan mengaktifkan aktivator COM Anda alih-alih baris perintah Anda.

Untuk mempelajari cara menggunakan opsi ini, lihat Mengirim pemberitahuan toast lokal dari aplikasi C# desktop atau Mengirim pemberitahuan toast lokal dari aplikasi Win32 C++ WRL.

Opsi alternatif - Tidak ada COM / Stub CLSID

Ini adalah opsi alternatif jika Anda tidak dapat menerapkan aktivator COM. Namun, Anda akan mengorbankan beberapa fitur, seperti dukungan input (kotak teks pada roti panggang) dan mengaktifkan dalam proses.

Visual Tindakan Input Mengaktifkan dalam proses
✔️ ✔️

Dengan opsi ini, jika Anda mendukung desktop, maka Anda jauh lebih terbatas dalam templat pemberitahuan dan jenis aktivasi yang dapat Anda gunakan, seperti yang terlihat di bawah ini.

Jenis templat dan aktivasi Dikemas Tidak dikemas
Latar Depan ToastGeneric ✔️
Latar Belakang ToastGeneric ✔️
Protokol ToastGeneric ✔️ ✔️
Templat warisan ✔️

Untuk aplikasi paket, cukup kirim pemberitahuan toast seperti aplikasi UWP. Saat pengguna mengklik toast Anda, aplikasi Anda akan diluncurkan baris perintah dengan argumen peluncuran yang Anda tentukan di toast.

Untuk aplikasi yang tidak dikemas, siapkan AUMID sehingga Anda dapat mengirim toast, lalu tentukan juga CLSID di pintasan Anda. Itu bisa menjadi GUID acak. Jangan tambahkan server/aktivator COM. Anda menambahkan COM CLSID "stub", yang akan menyebabkan Pusat Tindakan mempertahankan pemberitahuan. Perhatikan bahwa Anda hanya dapat menggunakan toast aktivasi protokol, karena stub CLSID akan merusak aktivasi toast lainnya. Oleh karena itu, Anda harus memperbarui aplikasi untuk mendukung aktivasi protokol, dan membuat protokol toast mengaktifkan aplikasi Anda sendiri.

Sumber