Comment redimensionner Windows Icon Overlay?

J’ai créé une icône en superposition sur mon fichier, *.myfile , mais la taille de la superposition est incorrecte. Lorsque l’icône est affichée en taille 16×16, la superposition recouvre l’icône.

Comment puis-je changer la taille de la superposition? ( IShellIconOverlayIdentifier )

à gauche est à moi, à droite est tortoisesvn

Vous ne pouvez pas modifier la taille de la superposition. Au lieu de cela, utilisez un fichier icône multi-résolution où toutes les tailles nécessaires sont disponibles.

Pour un bon exemple, jetez un œil à la source de TortoiseSVN . Leur seul fichier icône sera utilisé, mais si vous l’ouvrez avec un outil de peinture approprié, vous verrez que ce fichier contient différentes tailles.

Mettre à jour

Si vous regardez bien la première méthode, vous obtiendrez le commentaire suivant:

“Le shell appelle IShellIconOverlayIdentifier :: GetOverlayInfo pour demander l’emplacement de la superposition d’icons du gestionnaire. Le gestionnaire de superposition d’icons renvoie le nom du fichier contenant l’image superposée et son index dans ce fichier. Le shell ajoute ensuite la superposition d’icons au système liste d’images. ”

Vous pouvez voir à la ligne 129 qu’il essaie de trouver le chemin du fichier requirejs à partir du registre. En parcourant le code, vous pouvez trouver les icons dans Subversion ici . À la ligne 165, vous pouvez voir qu’il prend le nom de fichier du registre et le réécrit à ses parameters *pdwFlags = ISIOI_ICONFILE; et que le drapeau magique permettant à Windows de décider quelle taille doit être extraite du fichier est *pdwFlags = ISIOI_ICONFILE; .