关于网友提出的“ 如何给另外一个进程发结束消息或者说如何获得另外一个进程的句柄?”问题疑问,本网通过在网上对“ 如何给另外一个进程发结束消息或者说如何获得另外一个进程的句柄?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 如何给另外一个进程发结束消息或者说如何获得另外一个进程的句柄?
描述: 有一个已经运行的进程。在任务管理器中名字为"abc.exe".
我想使用另外一个进程结束掉它。
想使用PostMessage(handle,msg,0,0)这个函数。
可是我不知道怎么获得那个进程的句柄。
帮帮忙,各位。
解决方案1: //根据进程名称得到进程的ID,如果有多个实例在同时运行的话,只返回第一个枚举到的进程ID
DWORD processNameToId(LPCTSTR lpszProcessName)
{
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 pe;
pe.dwSize = sizeof(PROCESSENTRY32);
if (!Process32First(hSnapshot, &pe)) {
MessageBox(NULL,
"The frist entry of the process list has not been copyied to the buffer",
"Notice", MB_ICONINFORMATION | MB_OK);
return 0;
}
while (Process32Next(hSnapshot, &pe)) {
if (!strcmp(lpszProcessName, pe.szExeFile)) {
return pe.th32ProcessID;
}
}
return 0;
}
根据abc.exe得到这个进程ID后,再
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);就是 你要的了
以上介绍了“ 如何给另外一个进程发结束消息或者说如何获得另外一个进程的句柄?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3412737.html