Page 1 sur 1
Menu contextuel dans l'explorateur Windows
Publié : mer. 26/sept./2007 12:25
par Golfy
Cherchant à faire un programme qui change l'icône d'un dossier lors d'un clic droit dans l'explorateur, j'ai trouvé un code (relativement compliqué) à compiler en dll :
Forum Anglais, section Trick's & Tips
Une méthode plus simple est la suivante...
La méthode pour les dossiers :
Ouvrir l'éditeur de registre
Regedit
Ouvrir la clé
HKEY_CLASSES_ROOT\Folder\shell
Créer une sous-clé nommée
Function_du_programme
Créer une sous-clé nommée
command
Changer la valeur par défaut par
chemin+program_name "%1"
Le programme doit accepter le passage de paramètre, c.à.d qu'il faut utiliser
SelectedFile$ = ProgramParameter()
La méthode pour les fichiers est similaire :
Ouvrir la clé
HKEY_CLASSES_ROOT\*
Créer une sous-clé nommée
shell
Créer une sous-clé nommée
Ouvrir avec programme
Créer une sous-clé nommée
command
Changer la valeur par défaut par
chemin+program_name "%1"
Il suffit donc d'utiliser les fonctions d'édition de clé de registre de Purebasic... que je cherche en ce moment

Publié : mer. 26/sept./2007 12:36
par Patrick88
va voir ce post, y'a plus simple et sans passer par la base de registre
http://www.purebasic.fr/french/viewtopi ... highlight=
patrick
Publié : mer. 26/sept./2007 13:18
par Golfy
Merci Patrick pour le code (j'aurai buté moi aussi sur le refresh et le besoin de "ProcedureReturn PathMakeSystemFolder_(FolderName)"
Cependant, comment inscris-tu ton programme dans le menu contextuel de Windows Explorer ?
Publié : mer. 26/sept./2007 13:52
par Patrick88
pour la zone "envoyez vers" il suffit d'ajouter le programme dans le dossier "send to" de ton compte utilisateur
pour ton problème particulier je ne vois pas ...
pat
Publié : mer. 26/sept./2007 17:28
par Golfy
Bon, j'ai finalement fait une version 1.0 de mon "gestionnaire de projets"
L'installateur est Forgesoft Install (fait en PureBasic,
http://www.installforge.forgesoft.net/)
Une fois installé (dans c:\Program Files\Gestion_de_Projet) et la clé de registre (cf. message ci-dessus) validé, il suffit de faire un clic droit sur n'importe quel répertoire et de sélectionner [Gestion_de_Projet].
Un liste déroulante apparait :
sélectionner un état de projet (autre que celui préselectionné... désolé j'ai pas encore tout réglé) et fermer la boite de dialogue.
L'icône du dossier change.
Petite astuce : en passant la souris sur le dossier (dans le cadre de droite de l'explorateur), l'état du projet s'affiche en infobulle
Le code est inclut dans le zip, les icones sont dans l'autoinstall et la clé de registre est dans un fichier reg.
Télécharger le zip
Publié : mer. 26/sept./2007 17:38
par Kwai chang caine
J'ai fait tout comme tu m'a dit, mais j'ai l'impression que ça vire l'icone du repertoire sur lequel tu lance ton prog
W2000
Publié : mer. 26/sept./2007 17:54
par Golfy
*Don't panic*
Il suffit d'effacer le fichier caché 'desktop.ini' dans le répertoire que tu as 'testé' mais avant, tu peux vérifier si le chemin de l'icone correspond à l'emplacement de mon programme (normalement, c:\Program Files\Gestion_de_Projet\i_xxx.ico) en éditant avec le notepad le fichier desktop.ini
J'ai testé sur plusieurs machines XP sans problème mais je ne sais pas si Microsoft utilise le même système sous W2000 et inférieur...
Pour les icônes, j'ai utilisé ICOFX qui fait des icônes multi-système (XP, 256 coul., 16 coul., 16x16, 24x24, 32x32, 48x48, 96x96). J'ai pris soins de ne pas en oublier, mais toujours pareil, je ne sais pas si tout les OS savent lire les fichiers ico ainsi générés...

Publié : mer. 26/sept./2007 19:07
par Kwai chang caine
J'ai encore fait tout ce que tu m'as dit.
1/ Je n'ai pas paniqué
2/ J'ai éffacé le fichier
Et ç'est redevenu comme avant
Je te remercie pour le SAV mieux que darty
