Je fais un double démarrage de Windows XP et Windows 7 et j'ai rencontré un problème particulier avec les icônes de raccourcis.
Un bureau différent est utilisé pour chaque système d'exploitation, de sorte que j'ai un raccourci vers l'autre sur chacun d'eux pour un accès facile aux deux à partir de n'importe quelle version de Windows ; c'est-à-dire que dans XP, le bureau contient un raccourci appelé 7Desk
et dans 7, le bureau contient un raccourci appelé XPDesk
. Plus loin, 7Desk.lnk
est configuré pour utiliser la ressource d'icône de bureau de shell32.dll
de Windows 7, et XPDesk.lnk
est configuré pour utiliser la ressource d'icône de bureau de shell32.dll
de Windows XP. De cette façon, chaque raccourci affiche l'icône de l'autre système d'exploitation sur le bureau.
Le problème est que, même si dans le Changer l'icône Je peux voir les icônes correctes (pour l'autre système d'exploitation), mais lorsque je clique sur OK, l'icône affiche l'icône correspondante du système d'exploitation. Système d'exploitation actuellement démarré au lieu de l'autre. J'ai confirmé que cela se produit également pour d'autres ressources d'icônes, comme les icônes de la corbeille.
C'est déconcertant parce qu'en ce qui concerne Windows (et l'application Changer l'icône ) sont concernés, shell32.dll
de l'autre disque est juste un fichier contenant des icônes. Il n'y a aucune raison pour qu'il traite la DLL de manière spéciale, et ce qui est encore plus mystérieux, c'est comment il sait lequel de ses fichiers DLL est le plus important. propre icônes à utiliser à sa place. En d'autres termes, comment XP peut-il savoir qu'il faut utiliser l'icône du bureau XP à la place de l'icône du bureau 7, ou comment 7 peut-il savoir qu'il faut utiliser l'icône de la corbeille 7 à la place de l'icône de la corbeille XP ? Et pour rendre les choses encore plus déroutantes, j'ai vérifié les fichiers LNK dans un éditeur hexadécimal et je peux clairement voir que la ressource de l'icône pointe effectivement vers le fichier sur l'autre disque, no simplement pour \windows\system32\shell32.dll
.
(Il est vrai que les index d'icônes sont les mêmes, donc peut-être utilise-t-il simplement sa propre copie de shell32.dll
au lieu de celui spécifié sur un autre disque, mais ensuite, pourquoi fait-il cela ? ? S'agit-il d'une sorte d'"IA" dans les Boîte de dialogue de modification fonction, essayant de faire ce qu'il pense que nous voulons au lieu de faire ce que nous disons ?)
Je peux enregistrer une capture d'écran si le problème n'est pas clair.