c# - usar - Cambiar el icono de la barra de tareas anclado(Windows 7)
usar notifyicon c# (9)
Cuando coloca una aplicación en la barra de tareas, simplemente crea un acceso directo en el siguiente directorio:
C:/Users/<User Name>/AppData/Roaming/Microsoft/Internet Explorer/Quick Launch/User Pinned/TaskBar
Debería poder identificar dónde se encuentra el acceso directo (es decir, obtener KnownFolders y trabajar desde allí. UserAppData debería ser el uno), y luego usar P / Invoke (IShellLink), puede alterar el icono que el acceso directo está configurado para usar. Es posible que la máquina necesite un reinicio para que esto tenga efecto, pero debería funcionar.
Si mantiene presionada la tecla Mayús mientras hace clic con el botón derecho en la aplicación anclada y selecciona Propiedades, puede ver el botón Cambiar icono para el acceso directo. Esto es básicamente lo que necesitas emular con el código.
Todas estas cosas se pueden hacer definitivamente con código, pero el hecho de que usted piense que son mejores que la configuración del registro depende de usted.
No quiero personalizar el icono que se muestra en la barra de tareas de Windows 7. Cuando mi aplicación se está ejecutando, puedo hacerlo cambiando el icono de la ventana principal pero, cuando la aplicación está anclada, se muestra el icono del exe.
¿Cómo puedo configurar el ícono de la barra de tareas para mi aplicación a un ícono diferente al que está incrustado dentro del archivo exe?
No intentado, esta solution puede funcionar pero se ve sucia.
Editar:
Nuestra aplicación se compila una vez, pero según el archivo de configuración, las características están habilitadas o no, por lo que es un producto u otro. No queremos compilar un exe para cada producto.
Es posible que la solución anterior no funcione, ya que muchas instancias de mi aplicación se pueden instalar en diferentes rutas (¡así que terminas con el mismo nombre de archivo exe pero con diferentes iconos!), ¿Está mal diseñada esta clave de registro o me falta algo?
Echa un vistazo a este blog . Él hace una serie de publicaciones en el blog sobre la programación de la barra de tareas de Windows 7, así que tal vez eso te indicará la dirección correcta.
Haga clic derecho en el ícono fijado, en la ventana emergente verá el título del programa, haga clic derecho nuevamente y vaya a propiedades. Allí puede cambiar el icono haciendo clic en el botón "Cambiar icono". Para mi necesitaba un reinicio para terminar los cambios.
Lamentablemente, no puedo probar esto ahora, ¿pero tal vez el simple hecho de crear un atajo regular y bueno pueda resolver el problema? ¿Crear un acceso directo a la aplicación, cambiar el ícono y luego fijar el acceso directo en lugar de la aplicación en sí?
Comprobaré cuándo puedo obtener acceso a mi máquina con Windows 7 ...
No sé si estoy entendiendo tu problema pero ...
Si crea una aplicación y coloca la propiedad de icono de la ventana principal, ese icono también aparecerá en la barra de tareas. Pero, si lo colocas en la barra de tareas, ese ícono desaparecerá. Estoy en lo cierto Si es así, vaya a las propiedades del proyecto y en la pestaña de la aplicación, coloque el icono que desea para el archivo ejecutable. Ahora, verá ese ícono en la barra de tareas cuando esté anclado.
Yo uso el mismo icono para ambas cosas: P
Por lo que sé, por alguna razón, no puede cambiar el icono de un programa que ya está anclado en la barra de tareas. Para hacerlo, simplemente libere el programa, ubíquelo en el menú de inicio, haga clic con el botón derecho en propiedades - cambiar icono. luego vuelva a fijarlo en la barra de tareas, y tendrá el nuevo icono!
Puede hacerlo utilizando la biblioteca llamada "Windows 7 Bridge" que se basa en el "Windows Vista Bridge".
Estos son envoltorios administrados alrededor de todas las funciones nativas de Vista y Windows 7.
Más información se puede encontrar here
Si desea tener un acceso directo en la barra de tareas que vaya directamente a algún lugar útil, como su directorio "Mis documentos". La solución fácil. . .
Coloque una carpeta en la barra de tareas (que crea un acceso directo a las imágenes). Vaya al directorio donde se colocó ese acceso directo, haga clic derecho en el acceso directo y seleccione "propiedades" para cambiar el destino. Seleccione la pestaña "general" para cambiar el nombre del acceso directo. El atajo se colocó aquí:
C: / Users [user] / AppData / Roaming / Microsoft / Internet Explorer / Quick Launch / User Pinned / TaskBar
Puede navegar a este directorio y editar las propiedades del acceso directo de "imágenes".
EDITAR La información a continuación es un poco obsoleta; Todos los nuevos bits de Windows 7 ahora están disponibles como una API administrada, disponible aquí: http://code.msdn.microsoft.com/WindowsAPICodePack
Hay una serie de artículos sobre la nueva API de la barra de tareas del gurú de la depuración Sasha Goldshtein . Debes echar un vistazo a la API de Overlay Icons and Progress Bars .
Puede descargar el código de muestra de los recursos del desarrollador de la barra de tareas de Windows 7 en Microsoft Code. Lo que estás buscando es el ejemplo de IMClient
:
El ejemplo de IMClient muestra cómo los iconos superpuestos de la barra de tareas y las barras de progreso de la barra de tareas pueden iluminar el botón de la barra de tareas de una aplicación en lugar de confiar en un diálogo adicional o en un icono en el área de notificación del sistema (bandeja).
Creo que esto debería ayudarte a lograr lo que quieres.