Question

Je cherche à adapter une application développée dans VS 2008 / C # qui écoute les messages WM_ d'une autre application grâce à l'utilisation de la méthode de Control.WndProc. Lorsque le "app.exe" version est exécutée, messages WM_USER sont visibles et traitées; Cependant, lorsque le "app.vshost.exe" version est exécutée, ces mêmes messages ne sont plus visibles à l'application et donc pas traitées. Il semble que les deux versions « .exe » et « vshost.exe » recieve autres messages WM_ (en plaçant une pause sur WndProc, mais les messages WM_USER ne peuvent pas être pris au piège dans la version « vshost.exe ». Les paramètres de sécurité de L'application est défini comme une « application complète confiance ».

Pour rendre les choses plus confuses, quand je me suis déplacé le même code source à un autre ordinateur, le second ordinateur a pu voir et traiter les messages WM_USER tant pour le « app.exe » et « app.vshost.exe » versions, ce qui me porte à croire qu'il est un problème d'environnement dans mon ordinateur de développement.

Quelqu'un pourrait-il s'il vous plaît me diriger à ce qui pourrait être unique au sujet de mon environnement de développement qui pourrait expliquer la différence de la visibilité des messages WM_USER?

Était-ce utile?

La solution

Si vous utilisez Visual Studio en tant qu'administrateur sur celui qui ne fonctionne pas, et cela est Windows Vista, la solution est de ne pas exécuter Visual Studio en tant qu'administrateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top