进程入口对象PROCESSENTRY32使用前的初始化 tprocessentry32

获取系统运行进程:

BOOL bRe = FALSE;
DWORD err =0;
HANDLEhSnapshot;//create system snapshot
hSnapshot =CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnapshot==INVALID_HANDLE_VALUE)
{
err = GetLastError();
printf("Error: file=%s,line=%u.n %u CreateToolhelp32Snapshot Errorn.",
__FILE__,__LINE__, err);
return FALSE;
}

PROCESSENTRY32 pe;
pe.dwSize =sizeof(PROCESSENTRY32);//getset the object size,important
if (!Process32First(hSnapshot,&pe)) //get the first process ofsystem
{
err = GetLastError();
printf("Error:file=%s,line=%u.n %u. Cann't get the first process.n",
__FILE__,__LINE__, err);
CloseHandle(hSnapshot);//close the Snapshot handle
return FALSE;
}
charpProc[MAX_KEY_LENGTH];
进程入口对象PROCESSENTRY32使用前的初始化 tprocessentry32
char *pSoft= new char[MAX_SOFWARENAME];

do
{
memset(pProc, 0,MAX_SOFWARENAME);
strncpy_s(pProc, sizeof(pProc),pe.szExeFile, sizeof(pe.szExeFile));
if(IsVirusDefenderProcess(pProc,&pSoft)==1)
{
strcpy_s(*outVirSoftwareName,MAX_SOFWARENAME, pSoft);
returnTRUE;
}
} while (Process32Next(hSnapshot,&pe)); //getthe next process

CloseHandle(hSnapshot);//close the Snapshot handle
delete []pSoft;
return FALSE;

因为前两日漏了红色的那句 进程对象初始化大小,搞出莫名其妙的错误, 有时能正确运行,有时毫无理由的失败```

又是忘记“变量使用前要先初始化”的原则。废时耗力

恨啊

《代码大全》确是一部好书,章章经典。

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/273645.html

更多阅读

如何使用iphone的“icloud" iphone如何恢复icloud

凡使用iphone的人大概都知道“icloud"这个词,但能用好的人寥寥无几,“icloud”翻译成汉语的字面意思是“云”,也就是人们所说的“云存储”,那它究竟有什么用呢??????????1.使用“icloud”可以备份你的iphone,当你开启了这一功能时,若

90%女孩子不知道-正确使用发夹的方法 walkr正确卫星配对90

90%女孩子不知道-正确使用发夹的方法——简介 最普通常见的发夹,一面是平滑的,另一面是带波浪型的。一般女孩子认为波浪型的一面比较好看,应该露在外面,其实这是错误的,因为这样夹的头发不稳,头发很容易就掉下来了。正确的夹法应该是波

如何使用电烙铁? 电烙铁使用前如何检测

如何使用电烙铁?——简介教你如何正确使用电洛铁。如何使用电烙铁?——工具/原料电烙铁砂纸、松香如何使用电烙铁?——方法/步骤如何使用电烙铁? 1、刚刚那个买来的电洛铁,在使用前,要先用细砂纸将烙铁头打光亮,然后通电烧热,蘸上松

声明:《进程入口对象PROCESSENTRY32使用前的初始化 tprocessentry32》为网友影子中的我们分享!如侵犯到您的合法权益请联系我们删除