Créer un dossier avec une icône personnalisée

Contenu du snippet

Ce code n'est tout au plus qu'une astuce. Je le mets ici parce que je l'ai cherché longuement sans le trouver. Je tiens à signaler que c'est une source de MasterHack (http://www.vbfrance.com/code.aspx?id=25390) qui m'a permis de conclure (un merci aussi à DarkSidious pour l'intérêt qu'il a porté à ma question dans le forum). Concrètement, il s'agit de créer un dossier (MkDir, très simple) avec une icône personnalisée (et pas cette icône jaune et moche que Windows place par défaut...). Tout le monde pense au fichier ini. Seulement, il faut aussi que le dossier auquel on veut appliquer l'icône personnalisée soit en vbSystem.

Source / Exemple :


Sub DossierIcône(sDossier As String)
    'Création du dossier
    MkDir sDossier
    'Ecriture du fichier ini (Chemin du fichier, index de l'icône dans le fichier, commutateur 
    'pour éviter un message en cas de suppression du fichier ini, et enfin info facultative)
    Open sDossier & "\Desktop.ini" For Output As #1
        Print #1, "[.ShellClassInfo]" & vbCrLf & "IconFile=" _
        & sChemin & "Dossier.ico" & vbCrLf & "IconIndex=0" & _
        vbCrLf & "ConfirmFileOp=0" & vbCrLf & "InfoTip=Dossier" & _
        " avec une icône personnalisée"
    Close
    'POINT IMPORTANT : le DOSSIER est défini comme Système
    SetAttr sDossier, vbSystem
    'Le fichier desktop.ini est défini comme Système et Caché
    SetAttr sDossier & "\Desktop.ini", vbSystem + vbHidden
End Sub

Conclusion :


Comme vous l'avez vu, il faut que le dossier soit mis en Système. C'était la petite astuce... pas grand chose, mais bon, si c'est utile...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.