比如BOOL C???App::InitInstance()
{
HINSTANCE hDllInst = LoadLibrary("KERNEL32.DLL");
if(hDllInst)
{
typedef DWORD (WINAPI *MYFUNC)(DWORD, DWORD);
MYFUNC RegisterServiceProcessAlias = NULL;
RegisterServiceProcessAlias = (MYFUNC)GetProcAddress(
hDllInst, "RegisterServiceProcess");
if(RegisterServiceProcessAlias)
RegisterServiceProcessAlias(GetCurrentProcessId(), 1);
FreeLibrary(hDllInst);
}
}

解决方案 »

  1.   

    问了好多遍喽typedef UINT (CALLBACK* REG)(DWORD,DWORD); BOOL RegSvrProcess(BOOL bReg)
    {
    HINSTANCE hKernel = ::LoadLibrary("KERNEL32.DLL");
    if(!hKernel)
    return false;
    REG proc = (REG)::GetProcAddress((HMODULE)hKernel,"RegisterServiceProcess");
    if(!proc) 
    {
    FreeLibrary(hKernel);
    return false;
    }
    DWORD retval = (*proc)(NULL,(DWORD)(bReg));
    FreeLibrary(hKernel);
    return retval;
    }bReg = true注册为service,但只有在win9x下有效
      

  2.   

    如何注册为服务程序呀? 我不懂。在9x(me)下。
    请教大虾
      

  3.   

    OK!!!  但我不知道是怎样OK的。可否讲解一下下面是什么意思。分已经给了,谢谢typedef UINT (CALLBACK* REG)(DWORD,DWORD); 
      

  4.   

    显式调用RegisterServiceProcess,定义一个和调用函数同种类型的函数类型,原形是UINT RegisterServiceProcess(DWORD,DWORD),就定义REG为这种类型的。