我用MFC写了个基于对话框的程序,想把它改成以后台服务方式运行, 在用户登陆前就运行,
具有较高的等级,用户不能杀掉这个进程,应该怎么做呢? 解决问题立即给分,决不食言.

解决方案 »

  1.   

    在注册表中增加一项,我记得好像是Run或者是RunOnce,RunOnceEx什么的,可以在用户登陆之前启动,然后程序里面设置不许切换,至于杀掉进程:
    办法一:在程序里面以管理员身份启动,作为系统进程,在系统服务设置里面让其不许被杀掉。
    我想这个应该可以。我以前写的一个登陆前的程序,全屏显示,让用户进行身份判定,然后才允许登陆。赫赫。
      

  2.   

    在MSDN中有个例子,你找找看看:
    Service: Simple Service
      

  3.   

    还有就是下面这些与Service有关的函数:
    Service Functions
    The following functions are used by services and by programs that control or configure services.   
     
    ChangeServiceConfig 
      
    CloseServiceHandle 
      
    ControlService 
      
    CreateService 
      
    DeleteService 
      
    EnumDependentServices 
      
    EnumServicesStatus 
      
    GetServiceDisplayName 
      
    GetServiceKeyName 
      
    Handler 
      
    LockServiceDatabase 
      
    NotifyBootConfigStatus 
      
    OpenSCManager 
      
    OpenService 
      
    QueryServiceConfig 
      
    QueryServiceLockStatus 
      
    QueryServiceObjectSecurity 
      
    QueryServiceStatus 
      
    RegisterServiceCtrlHandler 
      
    ServiceMain 
      
    SetServiceBits 
      
    SetServiceObjectSecurity 
      
    SetServiceStatus 
      
    StartService 
      
    StartServiceCtrlDispatcher 
      
    UnlockServiceDatabase 
     
      

  4.   

    非常关注这个问题,我也想得到答案。
    但我先说一下,我对这个问题研究的结果
    NT下想要把MFC程序写成服务,基本上不是很容易的事,你这个问题放在这里,除非有人做个相同的事的人来可以回答,其余的人回答的,你还不如去看以前的贴子
    我在以前的贴子中看了又看,没有找到答案。只是大家把一些相同的代码copy+paste而已,估计你得买一本关于NT后台服务的书研究一下才行。
    有什么结果别忘了通知我一声。