#include<windows.h>
#include<tlhelp32.h>
#include<iostream>
#include<string>
using namespace std;
int find_process(string process_name)
{
int count=0;//程序計數
PROCESSENTRY32 pe32;
pe32.dwSize=sizeof(PROCESSENTRY32);
HANDLE process_snapshot_handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//建立程序快照句柄
if(process_snapshot_handle==INVALID_HANDLE_VALUE) return -1;//建立句柄失敗
bool is_exist=Process32First(process_snapshot_handle,&pe32);//找第一個
while(is_exist)
{
if(!stricmp(process_name.c_str(),pe32.szExeFile)) count++;//程序名不區分大小寫
is_exist=Process32Next(process_snapshot_handle,&pe32);//找下一個
}
return count;
}
int main()
{
int count=0;
string process_name="TIM.exe";
count=find_process(process_name);
if(count==-1) cout<<"建立程序快照句柄失敗!"<<endl;
else if(count==0) cout<<"未運作"<<endl;
else cout<<process_name<<"正在運作"<<endl;
system("pause");
return 0;
}