这么说吧,控制台程序可以有main()函数,Windows服务程序就不要main(),实现onstart()、onresume()、onstop()等,是等系统回调的。建议你找找服务程序的开发指南,看看Win服务程序如何开发。也欢迎下载、参阅 经验总结 文档( 分_享_网_页 lanzoui.com/b669999 )。
如何创建自己的Windows服务
145a
275
信誉分
我有一个已编译好的可执行文件,其会在本地运行一个http服务器。能否将其注册为Windows服务?
我成功使用sc create命令创建了服务,但是当我启动服务时,弹出了下面的对话框:
---------------------------
Services
---------------------------
Windows could not start the Example service on Local Computer.
Error 1053: The service did not respond to the start or control request in a timely fashion.
---------------------------
OK
---------------------------
Windows 家庭版 | Windows 10 | “应用”
问题作者接受的答案
问题作者接受的答案
-
Noel Macadangdang 8,080 信誉分 独立顾问2025-11-28T14:09:00.14+00:00 嗨 145a,
感谢你提出问题。 我了解到你已经使用 sc create 创建了服务,这非常棒。 不过,启动时出现 Error 1053 确实让人头疼,对吧? 通常,这个错误出现是因为程序并没有真正按照 Windows 服务的方式构建。 Windows 服务需要特定的启动和停止入口,而你的普通程序可能没有这些。 让我们一起来解决这个问题。
基本上,Windows 需要你的程序告诉它:“我已经启动并运行了! ”如果程序只是直接运行而没有发出这个信号,Windows 就会不耐烦并抛出这个错误。
要解决这个问题,你有几个选择。 一种简单的方法是使用像 NSSM 这样的工具(它是一个服务管理器),把你的程序包装起来,让它看起来像一个服务。 或者,你可以修改程序,使它像真正的 Windows 服务一样工作,使用 .NET 来实现。 这样,它就能在 Windows 启动和停止时正确响应。
希望这个答案对你有帮助,如果还有任何问题,请随时回复。
此致
圣诞颂歌