我想在xp下在用户登录之前启动我的程序,程序不能够被杀死。我原来想做成服务,但是服务程序能够被杀死,服务能够被停掉。原来听说能够做成“核心服务”或者“关键进程”什么的。高手请帮帮忙了,最好能够有源码,也希望能够指点一二,多谢了:)

解决方案 »

  1.   

    这样做很难,办法1是利用线程注入到关键进程里去,办法二是用三线程技术。这些都有不少的讨论的。你的问题有人提过
    http://www.vchelp.net/cndevforum/subject_view.asp?subject_id=6583
      

  2.   

    可以的。
    你把你的程序改名为smss.exe再在任务管理器里结束他的进程试试看。
    世界就是这样的奇妙!!
      

  3.   

    不会冲突的,这是windows的bug,没多少人知道的。
      

  4.   

    楼主有事到这里来找我:
    http://xiaomutou.51.net/bbs/viewforum.php?f=8
      

  5.   

    在这一帖http://expert.csdn.net/Expert/topic/1682/1682207.xml?temp=.6219751
    里五星上将masterz给出的那个程序是集服务程序与服务管理程序于一身的最简单的代码。
      

  6.   

    可是做成服务,有高权限的管理员或者用户可以把服务停掉,在SCM中
      

  7.   

    有个可行的办法:kill进程一般是用OpenProcess和TermirateProcess,在杀死进程之前必须先调用openProcess得到handle,所以我们可以用Hook来Hook函数Openprocess,返回给它一个错误的handle,这样它无论如何都无法通过OpenProcess来得到进程的句柄,也就无法杀死进程了。