C# 小型托盘应用程序从 Windows Server 开始
本文关键字:Windows Server 开始 应用程序 小型 | 更新日期: 2023-09-27 18:36:30
我在C# .NET 4.0中创建了一个Windows Form托盘应用程序,该应用程序为Windows XP SP3做了一些随机的事情,这并不重要。
目的是应用程序将使用 Windows 服务启动,并且应按LocalSystem
运行,并选中"允许服务与桌面交互"。我理解安全隐患,并且服务并不意味着运行GUI等,但这是程序的重点,并且用于培训目的。
当我使用 Services.msc
实用程序启动应用程序时,它启动正常,但大约 10 秒后它指出"错误 1053:服务未及时响应启动或控制请求"
我看过许多其他解决方案,但没有任何运气,例如:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/dac443c1-f2fc-49c6-bdd4-5426edc946ee/how-to-start-calcexe-from-windows-service-
我真的不在乎一个好的编程示例。我可以创建一个服务,然后拥有名为 API 的托盘应用程序,但我不知道托盘应用程序是否会以提升的 priv 运行,或者创建一个表单应用程序并将其破解为作为 Windows XP 服务运行或获得适当的服务来启动 exe 作为我的托盘应用程序......
任何示例将不胜感激或链接到编码示例等。
对于 Windows 服务,如果重写的 OnStart 方法执行大量工作,您将收到"错误 1053:服务未及时响应启动或控制请求"错误。
您可以调用 ServiceBase.RequestAdditionalTime 方法,并有足够的时间来执行所需的任何工作。
请参阅 http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicebase.requestadditionaltime%28v=vs.110%29.aspx 以获取参考。
以防万一这种情况发生在其他人身上。我只是使用了Windows 2003资源工具包并使用了"SRVANY"。
更多信息可在此处获得:http://support.microsoft.com/kb/137890
在这里:http://www.tacktech.com/display.cfm?ttid=197
我只是按照说明进行操作,除了勾选服务"允许服务与桌面交互"中的复选框
感谢您的回答迪茨,这可能是让它工作的正确方法,但这只是一个简单的技巧。