Noté que mi aplicación envía iconos a la bandeja de Windows con un tamaño de 16x16 píxeles, y mi PC con Vista tengo una barra de tareas de doble ancho que parece mostrar íconos a 18x18. Los artefactos de cambio de tamaño en el icono de mi aplicación se ven horribles. ¿Cómo puedo preguntar a Windows qué tamaño deberían tener los iconos?¿Cómo solicito a Windows el tamaño de los iconos de la bandeja del sistema?
edición:
estoy generando el icono de forma dinámica, con una superposición de texto de fuente de píxeles. Parece un desperdicio generar dinámicamente un conjunto de tamaños de iconos, por lo que sería bueno evitar crear un ícono con todos los tamaños "posibles" (aunque no estoy seguro de cuáles son).
GetSystemMetrics (SM_CXSMICON) devuelve 16 - el valor incorrecto.
GetThemeBackgroundContentRect tampoco sirvió de nada.
La primera mitad de esta respuesta es simplemente incorrecta. La API para los iconos de notificación es 'Shell_NotifyIcon'. Recibe un 'NOTIFYICONDATA' que contiene un' HICON'. Ahora, un 'HICON' se refiere a un solo icono, por lo que debe decidir el tamaño antes de llamar a' Shell_NotifyIcon'. El último párrafo es exacto sin embargo. –