如何在C#中检测消息框调用

时间:2016-07-03 07:53:50

标签: c# c++ dll messagebox unmanaged

我有一个C#程序,它加载一个C ++非托管dll并调用它的函数。 dll执行一些操作,如果发生错误或异常,它将显示一个Windows消息框。因此,如果没有遇到错误,则不会显示任何消息框。值得一提的是,我没有dll的来源。

现在,如果我在C#中调用dll的函数,我确保它成功执行的唯一方法是检查在调用期间是否显示任何消息框。我的问题是,我该怎么做?即通过DLL检测消息框调用?

1 个答案:

答案 0 :(得分:0)

如果DLL使用标准消息框程序,您可以通过挂钩MessageBox系列WINAPI来实现它。(Google WINAPI hook c#

但如果DLL不使用标准消息框,您可能需要挂钩CreateWindow等。