2009-02-16 3 views
1

Как отключить MessageBox от показа, который приходит из ссылки на сборку, которой я не являюсь (и не имеет кода)?Подавить MessageBox из ссылочной сборки

Например, мое приложение (MyApplication.exe) ссылается на сборку, закодированную кем-то другим (SomeoneElsesAssembly.dll). Внутри этой сборки я вызываю статический метод, который делает то, что он предполагает, но также запускает MessageBox, который я хочу подавить.

Я думал, что существует способ ссылаться на сборку в неинтерактивном режиме или что-то в этом направлении.

Благодарим за помощь.

-Jessy Хаул

ответ

0

В основном вы спрашиваете, если вы можете сослаться на сборку, которая вызывает MessageBox() и есть код на самом деле не показывать окно сообщения. Ответ, к сожалению, нет.

Лучше всего использовать скрипинг экрана, чтобы закрыть окно сообщения, как только оно появится. В этом сообщении есть пример кода о том, как закрыть поле сообщения InProc. http://www.codeproject.com/KB/dialog/AutoCloseMessageBox.aspx

+0

И кто-то отметил меня вниз, потому что ... – JaredPar

+0

я положил его обратно в 0. Sorry, если это был я. Я собирался сделать это как ответ, но отметил другой, поскольку у них был тот же самый пример кода (в ссылке), но был на C#, а не на C++. Еще раз спасибо. –

2

Что вы спрашиваете, это в основном «Как изменить поведение кода в сторонней сборке».

Не удалось разобрать/собрать, ответ «Вы не можете».

Есть некоторые неприятные варианты;

С управляемым кодом у вас всегда есть источник в той или иной форме. Если функция несколько самодостаточна, вы можете использовать Reflector для ее копирования в свой собственный код.

У вас может быть 2-й поток, который ждет, пока не появится окно сообщения, а затем автоматически его закрывает.

1

Я думал, что существует способ ссылки на сборку в неинтерактивном режиме или что-то в этом направлении.

Я считаю, что это возможно, чтобы запустить процесс в не интерактивном режиме (например, Windows Services, например), но сборки загружаются в процесс и может быть на тот же уровень взаимодействия, как и другие сборки в процесс, афайк.

Итак, либо разобрать-собрать или отправить сообщения Windows непосредственно в поле, чтобы автоматически закрыть его.

Смежные вопросы