如有转载,请注明出处:http://blog.csdn.net/embedded_sky
Windows环境下根据进程名(可执行文件镜像名)获取进程ID号,以及根据进程ID获取窗口句柄(HWND).
前者可用于判断进程是否存在,监视进程状态。
以下是代码:
#include <Windows.h>
#include <Tlhelp32.h>
#include <shlwapi.h>
//根据进程名获取进程ID
DWORD GetPidByProcessName(TCHAR *pProcess)
{
HANDLE hSnapshot;
PROCESSENTRY32 lppe;
//创建系统快照
hSnapshot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); //#include<Tlhelp32.h>
if (hSnapshot == NULL)
return 0;
//初始化 lppe 的大小
lppe.dwSize = sizeof(lppe);
//查找第一个进程
if (!::Process32First(hSnaps