昨天一同学入职考核,需要用C/C++写一个服务程序,从XML读取配置,定期运行指定程序/脚本/命令……
同学无解。。向我求助,然后我也没写过windows服务程序,于是琢磨了一下,弄出一个很简单的DEMO。
先从网上掏了一个VC6的程序叫 memorystatus ,其功能主要为启动一个服务定期向文件内写入当前剩余内存。
然后看了一下windows自带一个sc.exe 用于管理服务。
再掏了个轻量级的XML解析器“Markup”,貌似是基于MFC的,没仔细看。。直接include用。
于是基于这三个玩意改改。。 就成这样了……
test.xml这么写:
<PATH>C:/test/test.bat</PATH>
这里都是用的绝对定位,服务程序默认工作目录 windows/system32,然后看了一下。。没找到C/C++怎么找服务程序的启动目录。。只找到C#的方法。。懒得管他了。