#include <cstdlib>
#include <Windows.h>
#include <tlhelp32.h>
#include "iostream"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//zhaohaiwei
const char *pszProcessName="das.exe";
DWORD id=0;
//获得系统快照句柄 (通俗的讲, 就是得到当前的所有进程)
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0) ;
PROCESSENTRY32 pInfo; //用于保存进程信息的一个数据结构
pInfo.dwSize = sizeof(pInfo);
//从快照中获取进程列表
Process32First(hSnapShot, &pInfo) ; //从第一个进程开始循环
do
{
//这里的 pszProcessName 为你的进程名称
if(strcmp(strlwr(_strdup(pInfo.szExeFile)), pszProcessName) == 0)
{
id = pInfo.th32ProcessID ;
break ;
}
}while(Process32Next(hSnapShot, &pInfo) != FALSE);
cout << id << endl;
system ("pause");
if(id!=0)
{
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, id);
if (hProcess)
{
::TerminateProcess(hProcess, -1);
CloseHandle(hProcess);
cout << "成功杀死进程!!!" << endl;
}
}
else
{
cout << "进程不存在!!!" << endl;
}
system ("pause");
return id; //id 就是你要的进程pid 了..
}