-4

如何在 Windows 服务的 OnStart 事件中加载“登录表单”?!我知道 Windows 服务与 UI 不兼容。但我需要在不使用 Windows 启动的情况下执行此操作。这可能吗?如何?非常感谢。

4

2 回答 2

5

如何在 Windows 服务的 OnStart 事件中加载“登录表单”?

您不能这样做,因为 Windows 服务无法显示用户界面。

我知道 Windows 服务与 UI 不兼容。

哦。你已经知道了。好的。

但我需要在不使用 Windows 启动的情况下执行此操作..

这不会改变它不受支持且不起作用的事实。

是否可以?如何?

没有为什么:

windows 服务与 UI 不兼容。


那我该怎么办!?!

这里真正的答案是你的设计是错误的。

如果您需要有人登录您的应用程序,则不应创建服务。

只需制作一个标准的 Windows 应用程序(例如,使用 Windows 窗体或 WPF)并将其设置为在任何用户登录到计算机时自动启动。这可以通过将快捷方式添加到所有用户的“启动”文件夹来轻松完成。

然后,当您的应用程序运行时,您可以显示所需的任何 UI,而不受服务的限制。

于 2013-04-05T06:51:19.477 回答
2

如果您需要将 UI 交互与服务结合起来,您应该编写两个程序 - 服务,它公开某种 API,以及一个与该 API 交互的客户端程序(使用您想要选择的任何 IPC 机制)

请记住,多个用户可以登录同一台机器,因此您应该编写所有内容以应对同时运行的客户端程序的多个实例。

于 2013-04-05T06:55:42.307 回答