2009-05-07 11 views
1

J'ai mis le fichier .jpg associé à mon propre programme. Je veux ajouter le menu contextuel aux fichiers .jpg, donc je mets l'entrée de HKCR.jpg \ shell \ open \ command à "myProg.exe% 1". Après l'association, il y aura un élément en haut du menu contextuel disant "Ouvrir l'image avec myprog". Cela fonctionne correctement lorsque je sélectionne un seul fichier .jpg, mais lorsque j'ai sélectionné plus d'un fichier et que je clique sur l'élément supérieur du menu contextuel, rien ne s'est passé. Comment puis-je résoudre le problème?Comment démarrer le programme associé lors de la sélection de plusieurs fichiers?

Merci beaucoup

Répondre

1

Chaque fichier sélectionné sera envoyé à une nouvelle instance de votre application. Votre application doit vérifier si une version précédente existe ou non. Si une instance précédente existe, elle doit lui envoyer ses paramètres (par exemple en utilisant Windows Messages), puis se terminer.

Une autre approche consiste à utiliser DDE (Dynamic Data Exchange), une ancienne méthode utilisée par Shell pour envoyer tous les fichiers à une instance de votre programme.

+0

Mais lorsque je sélectionne plus d'un fichier, aucune instance de mon programme a été lancé à tous. – quantity

+0

Utilisez des guillemets doubles autour de% 1. – CSharper

+0

J'ai utilisé des guillemets doubles, comme ceci: "C: \\ myProg.exe" "% 1" Ce qui est câblé, c'est que cela a bien fonctionné quand un fichier a été sélectionné mais a échoué lorsque plusieurs fichiers ont été sélectionnés. Je ne sais pas pourquoi. – quantity

Questions connexes