在网上找到一源程序,mfctlist,可以在98,NT中列出正在使用的进程并可删除,但在2000下我试了,启动就报非法错,我想NT和2000应该差不多,问大家如何改写。

解决方案 »

  1.   

    程序太长,无法列出,但我又试了在WIN2000PRO版本中正常,在win2000server中报错,需要程序请留下email.
      

  2.   

    程序太长,无法列出,但我又试了在WIN2000PRO版本中正常,在win2000server中报错,需要程序请留下email.--------------------------------------------
    竟有这种事?!!!
    不过给我程序也没用,我没有win2000server。
      

  3.   

    正好我写了一段类似的,供大家参考。
    #include "Tlhelp32.h"int KillAProcess(const char* szName)
    {
    if(szName == NULL || strlen(szName) == 0)
    {
    return 1;
    }
    int siNameLen = strlen(szName); HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
        PROCESSENTRY32 pe;
    char* szProcess = NULL;    if(!hSnapshot)
    {
    return 2;
    }    pe.dwSize=sizeof(pe);    for( int i=Process32First(hSnapshot,&pe);i;
    i=Process32Next(hSnapshot,&pe) )
        {
    szProcess = pe.szExeFile;
    if(pe.szExeFile)
    {
                               //98,2000一个用全路径的,一个只有文件名
    szProcess = strrchr(pe.szExeFile, '\\');
    if(!szProcess)
    {
    szProcess = pe.szExeFile;
    }
    else
    {
    szProcess++;
    }
    if(strnicmp(szProcess, szName, siNameLen) == 0)
    {
    HANDLE hProc = OpenProcess(1, 1, pe.th32ProcessID);
    if(hProc)
    {
    TerminateProcess(hProc, 0);
    CloseHandle(hSnapshot);
    return 0;
    }
    return 3;
    }
    }
        }
        CloseHandle(hSnapshot);
    return 4;
    }