关于exe注册成Windows服务时,一个容易忽视的问题

       前几天遇到一个令人十分困惑的问题,在此将解决的过程记录下来,如果大家遇到类似的可以参考下。

一个十分完善的程序A.exe,当双击执行或者使用bat文件启动时,都正常,可以使用它源源不断地获取目标的数据,为了方便,便想着把此程序注册成Windows服务,开机自启动,这样用着也方便,于是搞定简单bat文件,运行bat将exe注册成了Windows服务,启动此服务也十分的正常,但是当调用它时,出问题了,数据获取只会出现一条false的数据,无法接下来再获取数据。查看启动的程序detail,发现依然正常,双击A.exe发现端口占用,说明服务已经启动了程序,但是就是找不到错误。后来终于想到了一种可能性,那就是双击运行exe和启动服务运行程序有可能有所不同的地方就是启动的用户不同,于是查看,发现双击启动显示的用户是Administrator,而注册服务启动显示的用户是system,按理说system权限比admin还要大,但是不知道为什么将服务默认用户改成Administrator后,既然就成功了,目前还没有想通为什么,后续接着研究。

附上百度经验如何更改服务用户的链接供大家参考:

以管理员身份自动运行程序(服务)

猜你喜欢

转载自blog.csdn.net/rico_zhou/article/details/79942471