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