9
votes

Comment puis-je recharger immédiatement une icône de dossier lorsque Desktop.ini est modifié

J'essaie de changer d'icône de dossier à l'aide de la modification desktop.ini sur le dossier. J'ai pu définir une icône, mais je ne pouvais pas le changer immédiatement en changeant "iconindex". L'icône a également été modifiée en quelques secondes plus tard.

YOUT YOULDOI SAVOIR Comment changer l'icône immédiatement?


4 commentaires

Jetez un coup d'œil à l'API SHCHANGENOTIFY API et recherchez des messages.


J'ai trouvé une solution sur sa propre question. C'est ce qu'il utilise ShgetsetFolderCustomesTommes Win32.


Vous pouvez l'écrire en tant que réponse complète ci-dessous .. Cela facilitera les visiteurs de cette question et cela (votre réponse) sera également éliminé.


Impossible d'utiliser ShgetsetFolderCustomesTommes sous Windows 10. Toute solution de contournement?


3 Réponses :


1
votes

J'ai déjà répondu en commentant une réponse à ma question auparavant. Pour plus de commodité, j'écrirai une réponse à nouveau.

Si vous souhaitez effectuer une modification à une apparition de n'importe quel dossier à l'aide de Desktop.ini, utilisez certaines des fonctions Win32 Shell. Vous ne devriez pas essayer de modifier directement un bureau. Il ne faut pas changer de changement à une apparition d'aucun dossier.

Vous pouvez obtenir plus d'informations sur les fonctions Win32 Shell via le lien suivant.

http: // msdn .microsoft.com / fr-US / US / Bibliothèque / Windows / Bureau / BB776426 (v = vs.85) .aspx


0 commentaires

1
votes

Exemple:

SHFOLDERCUSTOMSETTINGS fcs = {0};
fcs.dwSize = sizeof(SHFOLDERCUSTOMSETTINGS);
fcs.dwMask = FCSM_ICONFILE;
fcs.pszIconFile = iconPath;
fcs.cchIconFile = 0;
fcs.iIconIndex = iconIndex;
SHGetSetFolderCustomSettings(&fcs, folderPath, FCS_FORCEWRITE);


1 commentaires

Je reçois une erreur: 'shfolderCustomesTomesters' n'a pas été déclaré dans cette étendue . une solution de contournement? la même chose pour 'shgetsetfoldercustomesTomesters n'a pas été déclarée dans cette étendue



0
votes

La procédure suivante fonctionne bien pour moi (sous Windows 7):

  1. Changer le fichier Desktop.ini
  2. numéro SHCHANGENotify (shcne_delete, shcnf_path, "path_to / bureau.ini", 0);
  3. Dossier ICO sera actualisé

    N'oubliez pas d'inclure Shlobj.h


3 commentaires

Faux inclure. Ça devrait être shlwapi.h.


Non, ça ne marche pas du tout. 5 heures en ordinateur pendant la nuit fonctionne comme mirage


Une idée de l'actualisation des icônes de dossier après le changement de bureau.ini? Les shgetsetFolderCustomesTomesTomestomes ne sont pas supprimés depuis XP Windows.