我有一个MFC程序,我想在NT下让它在进行桌面前运行,这就要把它做成系统服务。
我用一个NTService类成功实现把此程序变成服务
但是遇到一个问题,当此服务启动时,我的单文档视图没有出来。
有人说是当进程进入服务的ServiceMain后就不返回了。我觉得也有可能是这样。
于是我就在我的MFC程序中用线程来启动服务(也就是运行StartDispatch),
可是这样后从控制面板处就不能成功启动服务了。
各位有什么好的办法来把MFC程序变成服务,请告诉我一声,不胜感激
我只是要把我的程序变成服务,但又不影响原来的功能。
也许根本不能???

解决方案 »

  1.   

    http://www.csdn.net/expert/topic/1052/1052198.xml?temp=.9888269
      

  2.   

    直接在服务的属性里面选择可以与桌面交互就可以了,
    我当初做的时候是不会写服务程序,直接用atl写了一个,
    然后把自己的主程序写成一个dll,然后在atl中直接调用
    ,就可以实现了。
      

  3.   

    服务程序是不可能有视图的,因为服务程序是没有用户登陆也要运行的。
    对于你的问题,如果你不要桌面运行则很好办。
    把系统的Explorer.exe程序珊掉,把你的普通型程序改名为Explorer.exe,这样你的程序就代替桌面了。
    如果你要在运行你的程序之后还要运行桌面,那就麻烦了。