Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1287 connectés 

  FORUM HardWare.fr
  Programmation

  [Explorer] - Ajout d'une action dans le menu contextuel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Explorer] - Ajout d'une action dans le menu contextuel

n°14888
Zero Cool
D'abord arrêter le chimique...
Posté le 19-02-2001 à 08:33:56  profilanswer
 

Un p'tit problème vachement intéressant :  
 
Tout le monde sait comment associer une nouvelle action à un type de fichier, dans le menu contextuel de l'explorateur de Windows : par exemple, pour les fichiers .TXT, dans la base de registres, on a la clé HKEY_CLASSES_ROOT\txtfile\shell\ qui contient des sous-clés pour chaque action, avec comme valeur chaîne par défaut la commande à exécuter. Par exemple pour les fichiers texte, on a la commande open suivante : "NOTEPAD.EXE %1", avec %1 le nom du fichier sur lequel on a cliqué (ou %L pour gérer les noms longs, soit dit en passant). Bon, jusque là pas de problème : on peut associer une commande à un type de fichier, qui sera utilisé par un programme à nous, par exemple "C:\My Docs\MyProg.exe %L".  
 
MAIS maintenant, le problème est le suivant : quand on sélectionne PLUSIEURS fichiers de même type et qu'on choisit notre commande custom, notre programme est lancé autant de fois de suite, avec à chaque fois un des fichiers en paramètre ... c'est le cas pour notepad, qui ne peut ouvrir qu'un seul fichier à la fois. Ce n'est pas le cas pour Winamp, qui peut charger plusieurs MP3 d'un coup dans sa playlist.  
 
Je sais déjà comment éviter d'avoir plusieurs instances d'un même prog. lancées en même temps, donc le problème est : comment faire pour que tous les fichiers en paramètre soient passés à la même instance du programme ???  
 
Comment une instance d'un prog. peut-elle passer une info de type texte (le nom du fichier) à une autre instance de ce même prog. ??  
 
Ou bien, solution encore plus rapide, peut-être y a-t-il un mot-clé à mettre dans la description de la commande dans la base de registres, un truc qui remplacerait le %1, et qui représenterait les noms de tous les fichiers d'un seul coup ...  
 
 
 
Voila, si vous êtes arrivé jusqu'ici vous pouvez rentrer chez vous ...


---------------
"D'abord arrêter le chimique, et après reprendre l'école ..."  
mood
Publicité
Posté le 19-02-2001 à 08:33:56  profilanswer
 

n°14953
Zero Cool
D'abord arrêter le chimique...
Posté le 19-02-2001 à 16:12:40  profilanswer
 

Allez, un p'tit effort, ça se lit comme un rien ...


---------------
"D'abord arrêter le chimique, et après reprendre l'école ..."  
n°14954
zop
1 world, 1 web, 1 Windows
Posté le 19-02-2001 à 16:20:09  profilanswer
 

Pour faire communiquer 2 applications, tu as les messages. Tu peux enregistrer un nouveau message  au moment où tu crée ta fenêtre. Les autres instances qui vont vouloir enregistrer ce message vont se voir répondre qu'il existe déjà. Chacune des non-première instance n'a plus qu'à broadcaster ledit message avec comme paramètre le nom du fichier qui lui était passé en argument.
Ceci est une base d'idée.

n°14971
Zero Cool
D'abord arrêter le chimique...
Posté le 19-02-2001 à 18:11:25  profilanswer
 

Euh un message c'est pas comme un sémaphore, c'est pas un truc qu'on peut créer qu'une fois avec un nom donné ! (non ??)
 
J'y ai déjà pensé, mais je croyais qu'on ne pouvait passer que des entiers comme paramètres des messages Windows ?
A moins que j'aie rien pigé ... :D


---------------
"D'abord arrêter le chimique, et après reprendre l'école ..."  

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Explorer] - Ajout d'une action dans le menu contextuel

 

Sujets relatifs
modifier le menu contextuel IE[Delphi ou autre] - Action custom associée à un type de fichier ...
ajout de mémoireMenu déroulant
[VB6] créer un menu contextuelMenu déroulant ca urge
Menu déroulant ??!!Menu XML sous netscape 6
Plus de sujets relatifs à : [Explorer] - Ajout d'une action dans le menu contextuel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR