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 dikemas); aplikasi paket 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 dipaket).
Namun, untuk aplikasi Win32 yang belum 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 yang sesuai. 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 pilihan - Aktivator COM
Ini adalah opsi pilihan yang berfungsi untuk aplikasi desktop, dan mendukung semua fitur pemberitahuan. Jangan takut pada "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 aktivator COM, Anda dapat menggunakan templat pemberitahuan dan jenis aktivasi berikut di aplikasi Anda.
Jenis templat dan aktivasi | Paket | 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 | Paket | 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 arg peluncuran yang Anda tentukan dalam 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 memutus aktivasi aktivasi toast lainnya. Oleh karena itu, Anda harus memperbarui aplikasi untuk mendukung aktivasi protokol, dan mengaktifkan protokol toast aplikasi Anda sendiri.
Sumber
Windows developer