Разница между "App.exe" и "App.vshost.exe" в WndProc - PullRequest
3 голосов
/ 20 апреля 2010

Я пытаюсь адаптировать приложение, разработанное в VS 2008 / C #, которое слушает сообщения WM_ другого приложения с помощью метода Control.WndProc. При запуске версии "app.exe" сообщения WM_USER отображаются и обрабатываются; однако при запуске версии "app.vshost.exe" эти же сообщения больше не видны приложению и, следовательно, не обрабатываются. Похоже, что и версии ".exe", и "vshost.exe" получают другие сообщения WM_ (через разрыв WndProc, однако сообщения WM_USER не могут быть перехвачены в версии "vshost.exe". устанавливается как «приложение с полным доверием».

Чтобы еще больше сбить с толку, когда я перенес тот же исходный код на другой компьютер, второй компьютер смог видеть и обрабатывать сообщения WM_USER для версий "app.exe" и "app.vshost.exe", что наводит меня на мысль, что это проблема среды моего компьютера для разработки.

Может ли кто-нибудь подсказать мне, что может быть уникальным в моей среде разработки, которая может объяснить разницу в видимости сообщений WM_USER?

1 Ответ

2 голосов
/ 11 ноября 2010

Если вы используете Visual Studio в качестве администратора на том, который не работает, а это Windows Vista, то решение состоит в том, чтобы не запускать Visual Studio в качестве администратора.

...