2013-04-29 126 views
3

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

+0

你不应该这样做,看到http://stackoverflow.com/a/12956489/261050。有关解决方法,请参阅该问题的其他答案。 – Maarten 2013-04-29 07:02:48

+0

[显示从窗口服务窗口窗体]的可能重复(http://stackoverflow.com/questions/12953148/show-a-windows-form-from-a-window-service) – Dennis 2013-04-29 07:03:29

+0

如果我面临这个问题我会做到这一点。把'Try Catch'和'log'异常放到File中。并看到,:) – RajeshKdev 2013-04-29 07:06:11

回答

2

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

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

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