Pregunta

Estoy intentando adaptar una aplicación desarrollada en VS 2008 / C # que escucha los mensajes WM_ de otra aplicación a través del uso del método Control.WndProc. Cuando el "app.exe" versión se ejecuta, los mensajes WM_USER son visibles y procesada; Sin embargo, cuando el "app.vshost.exe" versión se ejecuta, estos mismos mensajes ya no son visibles para la aplicación y por lo tanto no procesada. Parece que tanto las versiones y ".exe", 'vshost.exe' recibiera derechos WM_ otros mensajes (a través de la colocación de un descanso en WndProc, sin embargo los mensajes WM_USER no pueden ser atrapados en la versión 'vshost.exe'. La configuración de seguridad de la aplicación está dispuesto a ser una "aplicación de plena confianza".

Para hacer las cosas más confusas, cuando me mudé el mismo código fuente a otro equipo, el segundo equipo fue capaz de ver y procesar los mensajes WM_USER tanto para el "app.exe" y "versiones" app.vshost.exe, lo que me lleva a pensar que se trata de un tema del medio ambiente en mi equipo de desarrollo.

Podría alguien por favor me orientar en cuanto a lo que podría ser único acerca de mi entorno de desarrollo que podría dar cuenta de la diferencia en la visibilidad de los mensajes WM_USER?

¿Fue útil?

Solución

Si está ejecutando Visual Studio como administrador en el que no funciona, y esto es Windows Vista, entonces la solución es no ejecutar Visual Studio como administrador.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top