如何从服务中终止非托管消息框调用

时间:2011-08-05 13:48:01

标签: c# windows-services

我有一个调用非托管dll的服务。在某个代码路径上,它将打开一个消息框。由于它是一项服务,因此没有显示的实际窗口,但线程仍然被阻止。

如何自动终止该消息框?

1 个答案:

答案 0 :(得分:1)

实际上会显示消息框,但不会显示在交互式窗口工作站上,因此任何已登录的用户都无法看到该消息框。您有几个选择:

  • 您可以将服务设为交互式。这将允许它向当前登录的用户显示一个消息框。 MSDN提供了有关interactive services

  • 的一些信息
  • 您可以挂钩MessageBox导出并将其重定向到您自己的代码。这可以使用低级Windows API函数来完成。