【问题标题】:Open a dialog window from a windows service从 Windows 服务打开对话窗口
【发布时间】:2013-04-29 06:57:22
【问题描述】:

我在 C# 中创建了一个 Windows 服务应用程序,以在特定时间间隔弹出一个对话框窗口。在 Visual Studio 中调试时,它运行良好。然后我创建了一个安装设置。但安装服务后不会触发弹出对话框窗口。 原因是什么,我该如何解决?

【问题讨论】:

标签: c# .net windows service


【解决方案1】:

服务在与交互式桌面隔离的会话 0 中运行。您无法显示服务的 UI。您需要运行一个单独的桌面进程来显示 UI,然后使用 IPC 在服务和桌面进程之间进行通信。

如果您的对话框足够简单,您可以使用WTSSendMessage

如果您想定期运行代码,那么使用计划任务而不是服务可能会更好。

【讨论】:

    【解决方案2】:

    您的服务是如何安装的?你用的是什么windows版本?

    如果 vista/7 是否显示交互式服务检测?

    底线是从未为用户交互而设计的 Windows 服务。

    但是有一种方法,但我建议使用不同的方式与用户交互

    将 Windows 服务设置为与桌面交互可能会带来安全问题。

    我发布了这个链接希望它有帮助

    http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/1c3d4b96-c58b-465a-a964-89926bd455f1/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2014-03-07
      相关资源
      最近更新 更多