BOOL IsStart(CString strCurProcessName)
{
//得到本进程的ID号
DWORD dCurProcessID = GetCurrentProcessId()
HANDLE hSnapShot = NULL
hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0)
if(hSnapShot == NULL)
{
return FALSE
}
PROCESSENTRY32 processinfo
processinfo.dwSize = sizeof(PROCESSENTRY32)
BOOL status = Process32First(hSnapShot,&processinfo)
while(status)
{
if(strcmp(processinfo.szExeFile,strCurProcessName) == 0 /*已经启动了*/ &&\
processinfo.th32ProcessID != dCurProcessID /*但运祥不是本氏悄搭进程*/)
{
//说明已经启动了歼拿此进程
return TRUE
}
status = Process32Next(hSnapShot,&processinfo)
}
return FALSE
}
把程序名作为实参传入,然后用这个函数就可以进行判断了!
以下是我用桥睁来查看某个程序是否在运行的函数。你可以敏悔岁参考一前明下BOOL IsRunProcess(CString PrName)
{
//获取进程快照,判断要运行的程序是否结束
HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0)
PROCESSENTRY32 processList
processList.dwSize=sizeof(PROCESSENTRY32)
BOOL bResult=Process32First(hSnapshot,&processList)
BOOL bReturn=FALSE
while(bResult)
{
CString str=processList.szExeFile
if(str==PrName)
{
bReturn=TRUE
bResult=FALSE
}
else
{
bResult=Process32Next(hSnapshot,&processList)
}
}
return bReturn
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)