Bonjour,
Je poste dans API Win32, c'est ce qui me semble le plus proche ...
Alors voilà, je tente de rendre mon application compatible avec le système de redirections de Windows7 64bits (Wow64).
J'utilise Wow64DisableWow64FsRedirection et Wow64RevertWow64FsRedirection pour encadrer l'appel à ShellExecuteEx qui lance des applications ou ouvre des répertoires.
Et justement, je n'ai pas eu de soucis avec les fichiers, qu'ils soient ou pas "redirigés" (qu'ils soient dans "Programmes" ou dans "Program Files (x86)" par exemple), mais pour les répertoires ça ne marche pas.
Parfois le répertoire est bien ouvert, mais la plupart du temps j'ai un "La procédure spécifiée est introuvable".
Pour tester, j'ai mis l'appel à ShellExecuteEx (entre les redirections) au début de mon code, juste après le "OleInitialize", et le plantage est systématique.
Si je fais l'appel à ShellExecuteEx en dehors des redirections ça marche, mais plus pour les fichiers qui nécessitent une redirections (comme VPCWizzard par exemple).
Enfin, le plus curieux à mon sens: une fois qu'un ShellExecuteEx a fonctionné (par exemple en dehors des redirections), alors tous les appels suivants fonctionneront même s'ils sont entre les redirections. Par contre, si je commence par un appel qui provoque l'erreur, alors les appels à d'autres fonctions SHxxx (comme SHDoDragDrop) provoqueront la même erreur. Ce qui semble indiquer que quelque chose d'interne à planté (COM ?). Par contre les appels à ShellExecuteEx sur des fichiers (avec ou sans redirection) continuent à fonctionner.
Voilà j'espère que quelqu'un aura une piste, ça fait des jours que je tourne ça dans tous les sens et que je ne trouve rien.
Merci