我在网上查的内容是:
RegisterServiceProcess (GetCurrentProcessId (), 1);将该程序注册为服务程序即可使其从列表中消失。其中第二个参数值为1时,表示注册为服务程序,为0时表示取消注册。(有时要在DLL文件中多作文章)可是我在VC——MFC程序中输入RegisterServiceProcess()函数时,
编译器说它是未定义的标识,我在API中没有看到这个函数啊,我如何实现这个功能吗?我错在哪些?是不是要加什么头文件?
请大家教教我,谢谢!
最好能附上例程。 
 

解决方案 »

  1.   

    http://www.csdn.net/expert/topic/1069/1069557.xml?temp=.9165003
      

  2.   

    那是未公开API
    你要动态获取这个API的地址
    LoadLibrary和GetProcAddress
      

  3.   

    HINSTANCE m_hKernelLib;
    REGFUNCTION *RegisterServiceProcess;初始化:
    //Hide in task manager
    m_hKernelLib=::LoadLibrary("kernel32.dll");
    if(m_hKernelLib)
    {
    RegisterServiceProcess=(REGFUNCTION *)GetProcAddress(m_hKernelLib,"RegisterServiceProcess");
    if(RegisterServiceProcess)
    (*RegisterServiceProcess)(::GetCurrentProcessId(),RSP_SIMPLE_SERVICE);
    }退出程序:
    if(m_hKernelLib)
    {
    if(RegisterServiceProcess)
    (*RegisterServiceProcess)(::GetCurrentProcessId(),RSP_UNREGISTER_SERVICE);
    // ::FreeLibrary(m_hKernelLib);
    }