我在C#.NET 4.0中创建了一个Windows窗体托盘应用程序,它为Windows XP SP3做了一些随机的事情,不重要。
目的是使用Windows服务启动应用程序,并且应该以{{1}}运行,并选中“允许服务与桌面交互”。我理解安全隐患,并且服务并不意味着运行GUI等,但这是程序的重点,并且用于培训目的。
当我使用LocalSystem
实用程序启动应用程序时它启动正常,但在大约10秒后它会指出“错误1053:服务没有及时响应启动或控制请求”
我已经看过许多其他没有运气的解决方案,例如:
我并不关心一个不错的编程示例。我可以创建一个服务然后让托盘应用程序称为API,但我不知道托盘应用程序是否将使用提升的privs运行,或者创建一个表单应用程序并破解它作为Windows XP服务运行或获得适当的服务启动exe作为我的托盘应用程序...
非常感谢任何示例或链接到编码示例等。
答案 0 :(得分:1)
对于Windows服务,如果被覆盖的OnStart方法执行大量工作,您将得到"错误1053:服务未及时响应启动或控制请求"错误。
您可以调用ServiceBase.RequestAdditionalTime方法,并且需要足够的时间来执行所需的任何工作。
答案 1 :(得分:0)
以防万一发生在其他人身上。我刚刚使用了Windows 2003资源工具包并使用了'SRVANY'。
此处提供更多信息: http://support.microsoft.com/kb/137890
在这里: http://www.tacktech.com/display.cfm?ttid=197
我只是按照说明操作,除了勾选服务“允许服务与桌面交互”中的复选框
感谢Answer Dietz,它可能是让它正常工作的正确方法,但这只是一个简单的黑客攻击。