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

如题,我想用MFC写一个程序,检测某一个路径下的.exe文件(带完整路径)是否正在运行,求大神支招,谢谢!... 如题, 我想用MFC写一个程序,检测某一个路径下的 .exe 文件(带完整路径)是否正在运行, 求大神支招,谢谢! 展开
 我来答
skheda
推荐于2016-05-17 · TA获得超过165个赞
知道小有建树答主
回答量:156
采纳率:100%
帮助的人:81.3万
展开全部
/************************************************************************/
/* 判断进程里是否存在 “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;
}
追问
您好,您的程序很好,但是只能接受 .exe 文件的名字, 我想知道的是我要带入参数是绝对路径,请问您有办法吗?
追答
你要带入路径干啥,就算是不同路径的但是名字一样的也不能同时运行的啊,你可以带上路径,但是 最后查找的还只是名字,例如D:\Program Files (x86)\360\360safe\deepscan\ZhuDongFangYu.exe,单最终查的还是ZhuDongFangYu.exe这个玩意;
如果是别人通过某种方式传过来的包含路径的参数,你可以截取字符串的方式获取····
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式