Bonjour,
Méthode n°1 :
Je suis en train de développer un petit utilitaire qui est lancé depuis l'explorer de Windows par un "clic-droit sur un fichier" -> "nom du programme dans le menu contextuel". Pour cela rien de bien complexe, j'ai ajouté une clé dans la base de registre :
HKEY_CLASSES_ROOT\*\shell\monAppli\Command
avec comme valeur :
"C:\monappli.exe" "%1"
Cela fonctionne très bien, le seul problème est que lorsque je sélectionne plusieurs fichiers en même temps, et que je fais un "clic-droit" -> "nom du programme dans le menu contextuel" une instance de mon programme est lancée pour chaque fichier. Ce que je voudrais faire c'est renvoyer la liste complete des chemin des fichiers vers la même instance, et non pas un fichier vers une nouvelle instance à chaque fois. Ma question est, est-ce que je peux gérer ça juste en modifiant la valeur de ma clé dans le registre ?
Méthode n°2 :
Autre problème/solution : une chose intéressante, est que j'ai simplement placé un raccourci vers mon programme dans le dossier SendTo, est là cela fonctionne très bien, dès que je sélectionne plusieurs fichiers, la liste des chemins de ces fichiers est bien envoyée à la même instance de mon programme... Donc j'ai bien ce que je veux : une seule instance de mon programme récupère la liste complète des fichiers sélectionnés.
Mais il y a un problème... En effet, le "clic-droit" -> "nom du programme dans le menu contextuel" ne doit fonctionner que pour les fichiers, et non pour les dossiers. Chose que je peux gérer avec ma méthode n°1 lorsque j'ajoute une clé ici :
HKEY_CLASSES_ROOT\*\shell\monAppli\Command
puisque que le "*" correspond aux fichiers seulement. Par contre quand je place un simple raccourci vers mon programme dans le dossier SendTo, cela fonctionne pour les fichiers, mais aussi pour les dossiers.
Donc, dans l'idéal, je voudrais savoir si je peux modifier facilement le registre ou autre, de manière à faire que le "clic-droit" -> "envoyers vers" -> "mon appli" ne fonctionne que pour les fichiers et non pour les dossiers.
Ou sinon, en deuxième choix, comment modifier ma méthode n°1 pour que lorsque je sélectionne plusieurs fichiers à la fois, la liste des chemins de ces fichiers ne soit envoyée que une seule et même instance de mon programme.
J'espère avoir été complet, n'hésitez pas à ma demander des détails complémentaires si nécessaire.
Par avance merci pour toute information
Cordialement,
Webman
Partager