Accueil → WINDEV 2025 → Comment remplacer l'icone d'un répertoire Windows par programmation
Comment remplacer l'icone d'un répertoire Windows par programmation
Débuté par Jean Turcotte, 29 avr. 2025 14:44 - 6 réponses
Membre enregistré 1 282 messages
Posté le 29 avril 2025 - 14:44
Bonjour, remplacer l'icone d'un répertoire Windows, c'est facile avec Propriété du repertoire mais peut-on le faire par programmation? J'ai fouillé sur le Net mais il semble que ce soit impossible. Pourtant même les répertoires de Windev ont leur propre icone. -- Jean Turcotte WX 2025
Membre enregistré 871 messages
Posté le 29 avril 2025 - 15:42
Membre enregistré 1 282 messages
Posté le 30 avril 2025 - 14:08
Cédric_34 a écrit : Bonjour Cedric, j'ai essayé mais sans succes! -- Jean Turcotte WX 2025
Membre enregistré 871 messages
Posté le 30 avril 2025 - 14:39
Juste au cas où, avez-vous appliqué la dernière recommandation (#4) ?
Membre enregistré 248 messages
Posté le 30 avril 2025 - 14:53
Bonjour, Voici un exemple de code que j'utilise et qui fonctionne Cela suppose que le dossier "C:\ProgramData\Clients\" existe et que l’icône "client.ico" est inclu dans la bibliothèque de l'exécutableC ustomizeFolderIcon ( "C:\ProgramData\Clients\" , Vrai , "client.ico" , "Dossiers clients" ) PROCEDURE INTERNE C ustomizeFolderIcon ( s Folder, b ConfirmFileOp, s IconeFile, s InfoType) SI PAS fRépertoireExiste ( s Folder) ALORS RENVOYER Faux fAttribut ( s Folder, "DS" ) fExtraitRessource ( s IconeFile, s Folder+ s IconeFile) INIEcrit ( ".ShellClassInfo" , "ConfirmFileOp" , NumériqueVersChaîne ( b ConfirmFileOp) , ComplèteRep ( s Folder) + "Desktop.ini" ) INIEcrit ( ".ShellClassInfo" , "NoSharing" , "0" , ComplèteRep ( s Folder) + "Desktop.ini" ) INIEcrit ( ".ShellClassInfo" , "IconFile" , AnsiVersUnicode ( s IconeFile) , ComplèteRep ( s Folder) + "Desktop.ini" ) INIEcrit ( ".ShellClassInfo" , "IconIndex" , "0" , ComplèteRep ( s Folder) + "Desktop.ini" ) INIEcrit ( ".ShellClassInfo" , "InfoTip" , AnsiVersUnicode ( s InfoType) , ComplèteRep ( s Folder) + "Desktop.ini" ) fAttribut ( s Folder+ "Desktop.ini" , "HS" ) RENVOYER Vrai FIN
Fabrice
Membre enregistré 871 messages
Posté le 30 avril 2025 - 21:56
Le code converti par Fabrice N pourrait bien confirmer que Attrib (le #4) n'a pas été appliqué. Cdlt
Membre enregistré 1 282 messages
Posté le 01 mai 2025 - 14:27
Fabrice N a écrit : Bonjour,
Voici un exemple de code que j'utilise et qui fonctionne
Cela suppose que le dossier "C:\ProgramData\Clients\" existe et que l’icône "client.ico" est inclu dans la bibliothèque de l'exécutable
C ustomizeFolderIcon ( "C:\ProgramData\Clients\" , Vrai , "client.ico" , "Dossiers clients" ) PROCEDURE INTERNE C ustomizeFolderIcon ( s Folder, b ConfirmFileOp, s IconeFile, s InfoType) SI PAS fRépertoireExiste ( s Folder) ALORS RENVOYER Faux fAttribut ( s Folder, "DS" ) fExtraitRessource ( s IconeFile, s Folder+ s IconeFile) INIEcrit ( ".ShellClassInfo" , "ConfirmFileOp" , NumériqueVersChaîne ( b ConfirmFileOp) , ComplèteRep ( s Folder) + "Desktop.ini" ) INIEcrit ( ".ShellClassInfo" , "NoSharing" , "0" , ComplèteRep ( s Folder) + "Desktop.ini" ) INIEcrit ( ".ShellClassInfo" , "IconFile" , AnsiVersUnicode ( s IconeFile) , ComplèteRep ( s Folder) + "Desktop.ini" ) INIEcrit ( ".ShellClassInfo" , "IconIndex" , "0" , ComplèteRep ( s Folder) + "Desktop.ini" ) INIEcrit ( ".ShellClassInfo" , "InfoTip" , AnsiVersUnicode ( s InfoType) , ComplèteRep ( s Folder) + "Desktop.ini" ) fAttribut ( s Folder+ "Desktop.ini" , "HS" ) RENVOYER Vrai FIN
Fabrice
Merci à vous, ça fonctionne très bien. -- Jean Turcotte WX 2025