CString strExeNameToFind = "excel";
HANDLE SnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(SnapShot==NULL)
{
//MessageBox("检测当前进程失败!");
return ;
}
SHFILEINFO shSmall;
CString str,strTemp;
PROCESSENTRY32 ProcessInfo;//声明进程信息变量
ProcessInfo.dwSize=sizeof(ProcessInfo);//设置ProcessInfo的大小
//返回系统中第一个进程的信息
BOOL Status=Process32First(SnapShot,&ProcessInfo);
int m_nProcess=0;
DWORD m_ProcessID=0;
while(Status)
{
m_nProcess++;
ZeroMemory(&shSmall,sizeof(shSmall));
//获取进程文件信息
SHGetFileInfo(ProcessInfo.szExeFile,0,&shSmall,
sizeof(shSmall),SHGFI_ICON|SHGFI_SMALLICON);
//在列表控件中添加映像名称

strTemp=ProcessInfo.szExeFile;
strTemp.MakeUpper();
strExeNameToFind.MakeUpper();
if(strTemp.Find(strExeNameToFind,0) >= 0)
{
m_ProcessID=ProcessInfo.th32ProcessID;
break;
}
//获取下一个进程的信息
Status=Process32Next(SnapShot,&ProcessInfo);
}
每执行一次后内存就增加,我写在一个timer里,内存会被吃掉很多
请帮忙看看哪里有问题