I am attempting to adapt an application developed in VS 2008/C# that listens to another application's WM_ messages through the use of the Control.WndProc method. When the "app.exe" version is run, WM_USER messages are visible and processed; however when the "app.vshost.exe" version is run, these same messages are no longer visible to the application and thus not processed. It appears that both the ".exe" and "vshost.exe" versions recieve other WM_ messages (through placing a break on WndProc, however the WM_USER messages can't be trapped in the "vshost.exe" version. The application's Security settings is set to be a "full-trust application".
To make things more confusing, when I moved the same source code to another computer, the second computer was able to see and process the WM_USER messages for both the "app.exe" and "app.vshost.exe" versions, which leads me to believe that it is an environment issue in my development computer.
Could anyone please steer me as to what could be unique about my development environment that could account for the difference in the visibility of WM_USER messages?
If you are running Visual Studio as an administrator on the one that doesn't work, and this is Windows Vista, then the solution is to not run Visual Studio as Administrator.