5

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

4

2 回答 2

3

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

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

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

于 2013-04-29T07:02:58.417 回答
1

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

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

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

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

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

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

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

于 2013-04-29T07:06:12.900 回答