那个程序运行后什么标题栏的对话框的都没有,也没有图标,只有任务管理器能看到名字,怎么把它关闭呢?

解决方案 »

  1.   

    按进程名,找到handel
    然后杀掉,哎呀,英语太差了,总忘记单词,就什么Te..Pro...什么得
    就是杀掉进程的意思
      

  2.   

    EnumProcesses 枚举找到进程,用 TerminateProcess 关闭之
      

  3.   

    TerminateProcess 终止进程 ...
      

  4.   

    在任务管理器中选择这个程序,然后选择结束任务!呵呵!程序的方法应该是用TerminateProcess关闭它,不过侯捷在《深入浅出MFC》中说TerminateProcess太过毒辣!
      

  5.   

    现在还是有问题,进程关闭不了:CString m_st_processName="";
    CString m_st_findProcessName="abc.exe";         //关闭的程序名
    DWORD     m_i_processID=0;
    HANDLE hProcess;
    int     m_i_runProcessNum=0;    //EnumProcesses方法
        DWORD m_allProcessArray[1024], m_i_arraySize, m_i_processNum;
        unsigned int m_i_index=0;
    HMODULE hMod;//句柄
    char  m_szProcessName[1024]="";//获取名称
    // 获取进程标识列表.
        if ( !EnumProcesses( m_allProcessArray, sizeof(m_allProcessArray), &m_i_arraySize ))
    {
            return FALSE;
    }
        //计算有多少个进程.
        m_i_processNum = m_i_arraySize / sizeof(DWORD);
        //查找每个进程.
        for ( m_i_index = 0; m_i_index < m_i_processNum; m_i_index++ )
    {
    m_i_processID=m_allProcessArray[m_i_index];
    hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |PROCESS_VM_READ,FALSE, m_i_processID );
    // 获取进程名称.
    if ( hProcess )
    {
    if ( EnumProcessModules( hProcess, &hMod, sizeof(HMODULE),&m_i_arraySize))
    {
    GetModuleBaseName( hProcess, hMod, m_szProcessName, sizeof(m_szProcessName) );
    m_st_processName.Format("%s",m_szProcessName);
    if(m_st_processName.Find(m_st_findProcessName)>=0)
    {
    TerminalProcess(hProcess,0);         //这里可以进来,但是运行后,无法关闭进程
    CloseHandle(hProcess);               //进程在任务管理器中还存在,不知道为什么
    m_i_runProcessNum++;
    }
    }
    }请大家帮忙看下~~谢谢
      

  6.   

    知道怎么解决了,原来少了个PROCESS_TERMINAL