MFC 如何获取某一个路径下的 .exe 文件是否正在运行?

2025-03-21 04:00:25
推荐回答(1个)
回答1:

/************************************************************************/
/* 判断进程里是否存在 “xxx软件”    例如(xxx.exe)           
    返回值为0:软件没运行;
    否则:软件已经运行
                */
/************************************************************************/
int CBatteryDlg:: GetProcessCount(const TCHAR* szExeName)

    TCHAR sztarget[MAX_PATH]; 
    lstrcpy(sztarget, szExeName); 
    CharLowerBuff(sztarget, MAX_PATH); 
    int count = 0; 
    PROCESSENTRY32 my; 
    HANDLE l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
    if (((int)l) != -1)  
    {  
        my.dwSize = sizeof(my);   
    if (Process32First(l, &my))    
    {     
        do      
        {       
            CharLowerBuff(my.szExeFile, MAX_PATH);       
            if (lstrcmp(sztarget, my.szExeFile) == 0)        
            {   count++;        }      
        }
        while (Process32Next(l, &my));   
    }  
    CloseHandle(l); 
    } 
    return count;
}