Vb.net Créer un Raccourci de Fichier ou Dossier

Résolu
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 4 nov. 2016 à 14:57
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 6 nov. 2016 à 11:58
Bonjour,
j'ai crée un logiciel qui me permet de créer beaucoup de raccourcis en même temps
(que ce soit un raccourci d'un fichier ou dossier), dans cette partie il y a aucun problème.
Je peux aussi changer le nom et l'icône du raccourci,bien sûr ils seront crées dans un emplacement bien précis.
je voulais aussi créer des raccourci des dossiers spéciaux comme (Poste de travail, Bureau, Mes Documents, Documents, Images, Musiques, Vidéos, Documents récents, Windows, ProgramFiles, Gestionnaire de périphériques, Gestion de l'ordinateur, Gestion des disques, Panneau de Configuration, Programmes et fonctionnalités ... etc)
j'arrive à le faire sans problème le raccourci se crée avec le nom que je choisi et l'icone par défaut,sauf pour ("Programmes et fonctionnalités ou Ajout/Suppression de programmes") , le nom est celui que je choisi mais l'icone qui est attribué au raccourci n'est pas celle par défaut :

si j'essaie de changer l'icône, l'icône change sans aucun problème
mais j'aimerais avoir l'icône par défaut comme pour tous les autres dossiers
Voici le code pour créer un Raccourci sans modifier l'icone :
Private Function CreerRaccourci(ByVal TargetName As String, ByVal ShortCutPath As String, ByVal ShortCutName As String) As Boolean
Dim oShell As Object
Dim Raccourcis As Object
Try
oShell = CreateObject("WScript.Shell")
Raccourcis = oShell.CreateShortcut(ShortCutPath & "\" & ShortCutName & ".lnk")
Raccourcis.TargetPath = TargetName
Raccourcis.WindowStyle = 1
Raccourcis.Save()
Catch ex As Exception
End Try
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
CreerRaccourci("Chemin du fichier", Environment.GetFolderPath(Environment.SpecialFolder.Desktop) &, "Nom du fichier modifier")
End sub

Voici le code pour créer un Raccourci + modifier l'icone :
Private Function CreerRaccourciAvecIcone(ByVal TargetName As String, ByVal ShortCutPath As String, ByVal ShortCutName As String, ByVal Icones As String) As Boolean
Dim oShell As Object
Dim Raccourcis As Object
Try
oShell = CreateObject("WScript.Shell")
Raccourcis = oShell.CreateShortcut(ShortCutPath & "\" & ShortCutName & ".lnk")
Raccourcis.TargetPath = TargetName
Raccourcis.WindowStyle = 1
Raccourcis.IconLocation = Icones
Raccourcis.Save()
Catch ex As Exception
End Try
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
CreerRaccourci("Chemin du fichier", Environment.GetFolderPath(Environment.SpecialFolder.Desktop) &, "Nom du fichier modifier", "Chemin de l'icone")
End sub

pour créer le raccourci de Ajout/Suppression de programmes, remplacer "Chemin du fichier" par "Appwiz.cpl"
quelqu'un a une idée pour régler ce détail?
merci pour votre aide

2 réponses

Arnoid Messages postés 35 Date d'inscription mardi 17 février 2015 Statut Membre Dernière intervention 5 novembre 2016 1
5 nov. 2016 à 11:00
Bonjour,

Pourquoi ne trouves-tu pas l'icone sur intenet puis l'ajouter dans ton programme pour qu'il l'utilise ?
0
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
5 nov. 2016 à 13:28
Bonjour Arnoid
merci pour ta réponse
je voulais avoir l'icône par défaut, parce que l'icône change par rapport à la Windows utilisé ( XP, Vista, 7, 8, 10), je voulais que mon logiciel s'adapte à importe quel Windows
pour que je puisse changer l'icône je dois la copier des ressources est la mettre dans l'ordinateur aprés je dois récupérer son chemin car :
Raccourcis.IconLocation n'accepte que des chaines de caractère (un String) (pas d'image ni d'icone)
Je voulais laisser cette méthode comme dernier recours si je ne trouve pas une autre solution
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018
5 nov. 2016 à 15:02
Bonjour kikou93
L'icône par défaut qui s'affiche est correct : c'est l'icône du fichier appwiz.cpl
Tu confonds l'icône du fichier avec l'image affichée dans le Panneau de Configuration
1)Vas dans l'Explorateur et sélectionnes ta partition où est installé Windows
2) Dans la zone de recherche en haut à droite tapes : appwiz.cpl et tu lances la recherche
tu verras que l'icône que tu affiches est correct ( celui avec les 2 roues à engrenage .
Pourquoi cela ? Parce que le Panneau de Configuration affiche des images dans une listview en mode LargeIcon et l'image affichée pour "Ajout-Suppression de Programmes" est différente de l'icône du fichier appwiz.cpl
C'est tout
0
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1 > vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024
5 nov. 2016 à 15:33
Salut vb95
merci pour ta réponse
c'est vrais tu a raison, Dommage qu'on ne peux pas récupérer les icônes de Windows, car il sont dans des fichiers dll, par exemple dans :
C:\Windows\system32\SHELL32.dll
C:\Windows\system32\imageres.dll
je vais me contenter de la méthode que j'ai mentionné plus haut (télécharger l'icône -> la mettre dans les ressources -> là copier de Ressource vers l'ordinateur -> Récupérer le chemin de l'icône )
Merci pour ton Aide Vb95
0
Arnoid Messages postés 35 Date d'inscription mardi 17 février 2015 Statut Membre Dernière intervention 5 novembre 2016 1 > kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018
5 nov. 2016 à 15:54
Sinon télécharge les icones de toutes les versions de windows et adapte ton code pour chaque version de windows sur laquelle le logiciel pourra être utilisé.

Du genre si windows xp alors utiliser l'icone Appwiz_xp.ico etc..
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018
5 nov. 2016 à 18:09
0
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
6 nov. 2016 à 11:58
Salut
j'ai pu récupérer les icone de :
C:\Windows\system32\SHELL32.dll
C:\Windows\system32\imageres.dll
il sont ici :
https://www.transfernow.net/918i6144r9j1
0
Rejoignez-nous