Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las aplicaciones Win32 empaquetadas y desempaquetadas pueden enviar notificaciones interactivas tipo "toast" tal como lo hacen las aplicaciones UWP. Esto incluye aplicaciones empaquetadas (consulta Crear un nuevo proyecto para una aplicación de escritorio winUI 3 empaquetada); aplicaciones empaquetadas con ubicación externa (consulte Conceder identidad de paquete mediante el empaquetado con ubicación externa); y aplicaciones sin empaquetar (consulte Creación de un nuevo proyecto para una aplicación de escritorio winUI 3 sin empaquetar).
Sin embargo, para una aplicación Win32 sin empaquetar hay algunos pasos especiales. Esto se debe a los distintos esquemas de activación y a la falta de identidad de paquete en tiempo de ejecución.
En este tema, enumeramos las opciones que tienes para enviar una notificación tostada en Windows 10. Todas las opciones son totalmente compatibles...
- Persistir en el Centro de Actividades
- Puede activarse tanto desde el elemento emergente como dentro del Centro de actividades.
- Poder activarse mientras el EXE no se está ejecutando
Todas las opciones
En la tabla siguiente se muestran sus opciones para admitir notificaciones tipo toast dentro de su aplicación de escritorio y las funciones correspondientes compatibles. Puede usar la tabla para seleccionar la mejor opción para su escenario.
Opción | Elementos visuales | Acciones | Entradas | Se activa en proceso |
---|---|---|---|---|
Activador COM | Soportado | Soportado | Soportado | Soportado |
no CLSID com/Stub | Soportado | Soportado | No está soportado | No está soportado |
Opción preferida: activador COM
Esta es la opción preferida que funciona para las aplicaciones de escritorio y admite todas las características de notificación. No tenga miedo del "activador COM"; tenemos una biblioteca para aplicaciones de C# y C++ que hacen que esto sea muy sencillo, incluso si nunca ha escrito un servidor COM antes.
Elementos visuales | Acciones | Entradas | Se activa en proceso |
---|---|---|---|
Soportado | Soportado | Soportado | Soportado |
Con la opción activador COM, puedes usar las siguientes plantillas de notificación y tipos de activación en la aplicación.
Tipo de plantilla y activación | Empaquetado | Desempaquetado |
---|---|---|
Primer plano de ToastGeneric | Soportado | Soportado |
Fondo de ToastGeneric | Soportado | Soportado |
Protocolo ToastGeneric | Soportado | Soportado |
Plantillas antiguas | Soportado | No está soportado |
Nota:
Si agrega el activador COM a la aplicación empaquetada existente, las activaciones de notificación Foreground/Background y Legacy activarán el activador COM en lugar de la línea de comandos.
Para obtener información sobre cómo usar esta opción, consulte Enviar una notificación del sistema local desde aplicaciones de C# de escritorio o Enviar una notificación del sistema local desde aplicaciones WRL de Win32 C++.
Opción alternativa: no COM/Stub CLSID
Esta es una opción alternativa si no puede implementar un activador COM. Sin embargo, sacrificará algunas características, como la compatibilidad de entrada (cuadros de texto en notificaciones del sistema) y la activación en proceso.
Elementos visuales | Acciones | Entradas | Se activa en proceso |
---|---|---|---|
Soportado | Soportado | No está soportado | No está soportado |
Con esta opción, si es compatible con el escritorio, tiene muchas más limitaciones en cuanto a las plantillas de notificación y los tipos de activación disponibles, como se muestra a continuación.
Tipo de plantilla y activación | Empaquetado | Desempaquetado |
---|---|---|
Primer plano de ToastGeneric | Soportado | No está soportado |
Fondo de ToastGeneric | Soportado | No está soportado |
Protocolo ToastGeneric | Soportado | Soportado |
Plantillas antiguas | Soportado | No está soportado |
En el caso de las aplicaciones empaquetadas, simplemente envía notificaciones toast como lo haría una aplicación UWP. Cuando el usuario hace clic en el mensaje emergente, tu aplicación se iniciará desde la línea de comandos con los argumentos de inicio que especificaste en el mensaje.
En el caso de las aplicaciones sin empaquetar, configure el AUMID para poder enviar notificaciones emergentes y luego especifique un CLSID en el acceso directo. Puede ser cualquier Identificador Único Global (GUID) aleatorio. No agregue el servidor o activador COM. Va a agregar un "stub" CLSID COM, lo que hará que el Centro de actividades mantenga la notificación. Tenga en cuenta que solo puede usar los toasts de activación de protocolo, ya que el stub CLSID interrumpirá la activación de cualquier otro toast. Por lo tanto, tienes que actualizar la aplicación para admitir la activación del protocolo y hacer que el protocolo del sistema active tu propia aplicación.