Bonjour
J'ai un programme ecrit (sous BCB6) qui se lance via le menu contextuel de file-explorer (clic droit sur un nom de fichier, qui lance mon programme selon l'extension de ce fichier cliqué)
Ce programme se présente donc, non pas sous forme d'un exe, mais sous forme d'une dll, avec le programme d'installation (Inno) qui cré la clé suivate : "HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\MonExtension"
et qui déclare ma dll à l'aide de REGSVR32.exe
Sous Vista, ça fonctionne sans problème : La nouvelle ligne de menu apparait bien dans le menu contextuel d'Explorer, et mon programme se lance bien quand je clique sur cette ligne.
Par contre, sous Seven, cette ligne de menu n'apparait pas dans le menu contextuel d'Explorer, bien que les différentes clés soient bien créées dans la base de registre.
En cherchant sur Internet, j'ai trouvé le texte suivant dans un document Microsoft :
Note There are special considerations for 64-bit Windows when registering handlers that work in the context of 32-bit applications: when Shell verbs are invoked in the context of a 32-bit application, the WOW64 subsystem redirects file system access to some paths. If your .exe handler is stored in one of those paths, it is not accessible in this context. Therefore, as a work around, either store your .exe in a path that does not get redirected, or store a stub version of your .exe that launches the real version.
Bien, mais ça ne m'éclaire pas beaucoup sur ce que je dois faire exactement pour que ce qui fonctionne sous Vista accepte aussi de fonctionner sous Seven...
Toute information à ce sujet sera la bienvenue.
Merci.
Partager