假如有一个程序"c:\\1.exe"正在后台运行,并已经把自身注册成系统进程,请问怎样才能编程终止它呢?急用,谢谢!!!!!!!

解决方案 »

  1.   

    BOOL KillProcess(CTaskListEntry* pEntry, BOOL fForce)
    {
        HANDLE            hProcess;    if (fForce || !pEntry->hwnd)
    {
            hProcess = OpenProcess( PROCESS_ALL_ACCESS, FALSE, pEntry->dwProcessId );
            if (hProcess)
    {
                hProcess = OpenProcess( PROCESS_ALL_ACCESS, FALSE, pEntry->dwProcessId );
                if (hProcess == NULL)
    {
                    return FALSE;
                }            if (!TerminateProcess( hProcess, 1 )) 
    {
                    CloseHandle( hProcess );
                    return FALSE;
                }            CloseHandle( hProcess );
                return TRUE;
            }
        }    //
        // kill the process
        //
        PostMessage(pEntry->hwnd, WM_CLOSE, 0, 0);    return TRUE;
    }
    EnumWindows函数可获得hwnd
      

  2.   

    发送WM_CLOSE消息。应该不会是dos的程序吧
      

  3.   

    你说的是是服务进程.
    9x 下, TerminateProcess即可.
    NT 先取DEBUG权限. 要以administrator登陆.
      

  4.   

    先要得到这个进程的Handle,用Process32First,Process32Next枚举