在NT机器上的代码编译,打包后运行服务正常;在XP机器上(目前只有2台样本)配置SQL数据源就运行正常,配置Access数据源就提示:本地计算机上的XXX Service服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如“性能日志和警报”服务。
尝试过在XP下编译打包,结果一样。
哪位高手告诉是什么原因,如何解决?从何入手?
尝试看过事件察看器:1条提示有服务启动了,1条提示有服务停止了。也仅能得出服务启动过又停止了的结论啊

解决方案 »

  1.   

    是不是你的过程一下子就跑完了呢?
    服务程序说白了在RUN里路一个“死循环”的函数,如果这个函数一退出,程个服务程序也就退出了。
    你可以在那个RUN里选跑一个线程,跑你的服务函数,然后下面继续跑一个:
    while(1)
    {
       sleep(1000);
    }
    类似的函数,那个1也可以为一个变量,以决定什么时候退出的。
    如果这里你直接用了一个函数,然后直接跑完了,那么你的服务程序也就直接退出了,从而停止服务了。
    楼主还是仔细研究一下你的程序。