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

 


Dernière réponse
Sujet : [Explorer] - Ajout d'une action dans le menu contextuel
Zero Cool 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

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Zero Cool 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
zop 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.
Zero Cool Allez, un p'tit effort, ça se lit comme un rien ...
Zero Cool 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 ...

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)