|
|
1
3
|
|
2
2
无法从Windows服务显示Windows窗体。服务只在后台运行。 您可以使用单独的windows应用程序与windows服务通信,并显示警告、信息等。 为此,服务在localsystem帐户上运行,您必须启用该属性才能使服务与桌面交互。 |
|
|
3
0
禁止服务与桌面交互,包括显示窗口或窗体。在Windows 2003和XP中,您可以通过将服务标记为“交互式”来解决此问题,这将允许服务在用户会话中显示,但从Windows 2008和Vista开始,这是强制的,并且服务不能再以任何方式与用户交互。 当服务需要显示任何内容时,解决方案是将逻辑分成两个独立的进程,一个是服务,另一个是普通用户进程。用户进程由用户在其会话中启动(可以在会话启动时自动启动),并通过某些IPC通道(共享内存、命名管道、套接字等)连接到服务。然后,服务可以通过要求用户处理应用程序的一半来显示它需要显示的内容,从而向用户显示它希望显示的任何内容。 |
|
|
4
0
正如其他人所说,请记住,windows服务应该是一个后台,而不是与用户程序交互。许多服务甚至在用户未登录的情况下运行——当没有桌面供其显示窗体时,它们将如何继续显示窗体? 这就是说,你应该是想把某件东西塞进一个不应该是服务的服务中。如果你想要一些在后台运行并且仍然与用户交互的东西,可以考虑制作一个轻量级的系统try应用程序。事实上…以下是一个有用的教程: |