您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> VC/MFC >> 如何给另外一个进程发结束消息或者说如何获得另外一个进程的句柄?

如何给另外一个进程发结束消息或者说如何获得另外一个进程的句柄?

来源:网络整理     时间:2016/8/20 5:12:57     关键词:

关于网友提出的“ 如何给另外一个进程发结束消息或者说如何获得另外一个进程的句柄?”问题疑问,本网通过在网上对“ 如何给另外一个进程发结束消息或者说如何获得另外一个进程的句柄?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 如何给另外一个进程发结束消息或者说如何获得另外一个进程的句柄?
描述:

有一个已经运行的进程。在任务管理器中名字为"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

相关图片

相关文章