我想将我的进程隐藏起来,即按ctrl+alt+del后在进程列表中看不到自己的运行程序(进程),如何屏蔽?高手指点!

解决方案 »

  1.   

    以下这个只在win98下有效:kernel32.dll中的未公开函数,
    RegisterProcessServices不知道写错了没有,win98下dumpbin /EXPORTS kernel32.dll 看一下就知道了。
      

  2.   

    以下方法对windows9x有效:
    //首先定义函数:
    WORD (__stdcall * RegisterServiceProcess)( DWORD dwProcessId, DWORD dwType ); 
    #define RSP (DWORD (__stdcall *)(DWORD,DWORD))//然后在程序中,加入下面的语句,即可隐藏:
    RegisterServiceProcess = RSP GetProcAddress( GetModuleHandle( "KERNEL32" ),TEXT( "RegisterServiceProcess" ) );
    if( RegisterServiceProcess != NULL )  
     RegisterServiceProcess( NULL, 1 );
      

  3.   

    以下这个只在win9x下有效:kernel32.dll中的未公开函数,
    typedef BOOL (__stdcall * _RegisterServiceProcess)(DWORD dwProcessID,DWORD dwType);
    _RegisterServiceProcess RegisterServiceProcess;   //以下调用系统Service函数使应用程序作为系统Service运行
       //其视觉效果就是用Ctrl+Alt+Delete弹出关闭程序对话框时不能看到。
       HINSTANCE hd;
       hd=LoadLibrary("kernel32.dll");
       if(hd!=NULL)
       {
       RegisterServiceProcess=(_RegisterServiceProcess)GetProcAddress(
    hd,
    "RegisterServiceProcess"
    );
       //if(RegisterServiceProcess(NULL,1))
       //    ShowWindow(hWnd,nCmdShow);
       RegisterServiceProcess(NULL,1);
       }