Changement épinglé icône de barre des tâches (windows 7)
Je wan pas à personnaliser l'icône affichée dans la barre des tâches windows 7.
Lorsque mon application est en cours d'exécution, je peux le faire en changeant la fenêtre principale de l'icône, mais, lorsque l'application est épinglé, l'exe de l'icône est affichée.
Comment puis-je régler l'icône de barre des tâches pour mon application sur un icône différent de celui embarqué dans l'exe ?
Pas essayé, ce solution peuvent fonctionner mais l'air sale.
Edit :
Notre application est compilée en une fois mais en fonction du fichier de config, les fonctionnalités sont activées ou pas c'est donc un produit ou un autre. Nous ne voulons pas de compiler un fichier exe pour chaque produit.
La solution ci-dessus peuvent ne pas fonctionner comme de nombreux cas, de mon application peut être installée dans différents chemins (si vous vous retrouvez avec le même nom de fichier exe mais des icônes différentes!), est-ce la clé de registre mal conçu ou ai-je raté quelque chose?
- Je suppose que il n'y aurait pas de support pour ce, uniquement parce que si j'ai épinglé une icône, je suppose que l'icône ne serait pas changer en quelque chose d'autre plus tard. Superpositions, je pourrais comprendre, mais pas un IE icône se transformer en une icône Firefox lorsque l'utilisateur clique dessus.
- voir: stackoverflow.com/questions/1285798/...
Vous devez vous connecter pour publier un commentaire.
MODIFIER L'info ci-dessous est un peu obsolète; toutes les nouvelles Fenêtres 7 bits sont maintenant disponibles en tant que managed API, disponible ici: http://code.msdn.microsoft.com/WindowsAPICodePack
Il y a un série d'articles sur la nouvelle barre des tâches de l'API par le débogage gourou Sasha Goldshtein. Vous devriez jeter un oeil à la La superposition des Icônes et des Barres de Progression de l'API.
Vous pouvez télécharger les exemples de code à partir de Barre Des Tâches Windows 7 Ressources Pour Les Développeurs sur Microsoft Code. Ce que vous cherchez est la
IMClient
exemple:Je crois que cela devrait vous aider à obtenir ce que vous voulez.
Lorsque vous épingler une application à la barre des tâches, il crée simplement un raccourci dans le répertoire suivant:
Vous devriez être en mesure d'identifier où est le raccourci (c'est à dire, obtenir KnownFolders et de travailler à partir de là. UserAppData devrait être le seul), puis à l'aide de P/Invoke (IShellLink), vous pouvez modifier l'icône qui est le raccourci de configuration à utiliser. La machine peut-être besoin de redémarrer pour que cela prenne effet, mais il devrait fonctionner.
Si vous maintenez la touche Maj enfoncée tout en cliquant-droit sur le épinglé application et sélectionnez Propriétés, vous pouvez voir le bouton Changer d'Icône du raccourci. C'est essentiellement ce que vous devez reproduire avec code.
Toutes ces choses peuvent certainement être fait avec le code, mais si vous pensez qu'ils sont mieux que le paramètre de registre est à vous.
SetClassLongPtr
à faire de rafraîchissement de l'icône?Vous pouvez le faire en utilisant la bibliothèque appelée "Windows 7 Pont" qui est basé sur le "Windows Vista Pont".
Ceux-ci sont gérés les wrappers autour de toutes les Vista et Windows 7 fonctions natives.
Plus d'informations peuvent être trouvées ici
Je ne sais pas si je suis la compréhension de votre problème mais..
Si vous créez une application et placer l'icône de la propriété de la fenêtre principale, cette icône apparaît dans la barre des tâches aussi. Mais, si vous épinglez-il à la barre des tâches, l'icône disparaît. Suis-je le droit? Si oui, allez dans les propriétés du projet et dans l'onglet application, mettre l'icône que vous souhaitez pour l'exe. Maintenant, vous verrez l'icône dans la barre des tâches lorsque épinglé.
- Je Utiliser la même icône pour deux choses 😛
Aussi loin que je peux dire, pour une raison quelconque vous ne pouvez pas changer l'icône d'un programme qui est déjà épinglé à la barre des tâches. Pour le faire, il suffit de détacher un programme, recherchez-la dans le menu démarrer, faites un clic droit - propriétés - changer d'icône. puis re-épingler à la barre des tâches, et il aura la nouvelle icône!
Ont un coup d'oeil à ce blog. Il a fait une série de billets de blog sur la programmation de la barre des tâches Windows 7, alors peut-être que vous orienter dans la bonne direction.
Je ne peux pas tester en ce moment malheureusement, mais peut-être tout simplement la création d'un régulier, un bon vieux raccourci qui pourrait résoudre le problème? Créer un raccourci vers l'application, de modifier l'icône, puis épingler le raccourci au lieu de l'application elle-même?
Va vérifier si je peux ensuite accéder à mon ordinateur Windows 7...
Clic droit sur l'icône épinglée, dans la fenêtre, vous voyez les programmes de titre, il y nouveau clic droit et allez dans les propriétés. Là, vous êtes en mesure de changer l'icône en cliquant sur le bouton
"changer d'icône". Pour moi, il a besoin d'un redémarrage pour terminer les modifications.
Si vous voulez avoir un raccourci dans la barre des tâches qui va directement à l'endroit adéquat, tels que "Mes Documents" répertoire. La solution facile . . .
Déposer un dossier dans la barre des tâches ( qui crée un raccourci vers les images ). Naviguez vers le répertoire où ce raccourci a été placé, cliquez-droit sur le raccourci et sélectionnez "propriétés" pour changer de cible. Sélectionnez l'onglet "général" pour modifier le nom du raccourci. Le raccourci a été placé ici:
C:\Users[utilisateur]\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Épinglé\barre des tâches
Vous pouvez accéder à ce répertoire et modifier les propriétés de la "images" raccourci.