我需要使用c#通过windows服务显示Message Box和Windows Forms。任何人请帮助我。提前谢谢。
答案 0 :(得分:2)
您无法(轻松)直接从服务流程执行此操作。正如所描述的here,有一种方法可以创建一个交互式服务,它能够发送/处理Windows消息和显示窗口。
但:自Windows Vista以来,所有服务都在一个单独的用户会话中运行,名为“session 0”。因此,服务显示的所有窗口都显示在该会话中。理论上可以(我甚至只做了一次,只是为了好玩),切换到这个会话并查看这些窗口,但这在现实生活中几乎没有用。
我的建议是创建一个单独的gui应用程序(可能是一个带有漂亮托盘图标的应用程序),通过例如与您的服务进行通信。 TCP / IP或数据库。然后,此应用程序可以处理任何所需的用户交互,并与服务的进程进行适当的交互。