如何用c++获取某个进程

来源:百度知道 编辑:UC知道 时间:2024/07/04 02:30:27
我想用c++获取某个进程的信息 比如进程的名字为 abcdef.exe 如果在运行 则返回1,否则返回0

#include<windows.h>
#include<iostream.h>
#include<tlhelp32.h>

int 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;
}

int main(int argc, char*argv[])
{
#ifdef UNICODE
if(GetProcessCount(L"abcdef.exe") > 0)
#else
if(GetProcessCount("abcdef.exe") > 0)
#endif
{
cout <