如何在 Windows 服务的 OnStart 事件中加载“登录表单”?!我知道 Windows 服务与 UI 不兼容。但我需要在不使用 Windows 启动的情况下执行此操作。这可能吗?如何?非常感谢。
问问题
642 次
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 回答