如何得到其他进程主线程句柄

来源:百度知道 编辑:UC知道 时间:2024/09/12 23:45:59
如何得到其他进程主线程句柄,不能用使用CreateProcess函数,

void CloseProcess(CString name)
{
HANDLE hProcess = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcess == INVALID_HANDLE_VALUE)
{
return;
}

PROCESSENTRY32 info = {0};
info.dwSize = sizeof(PROCESSENTRY32);

if (!Process32First(hProcess, &info))
{
return;
}

BOOL bFound = FALSE;

while (1)
{
if (!Process32Next(hProcess, &info))
{
break;
}

if (info.szExeFile == name)
{
bFound = TRUE;

HANDLE hClose = ::OpenProcess(PROCESS_TERMINATE, FALSE, info.th32ProcessID);
if (hClose == NULL)
{
return;
}

if (!::TerminateProcess(hClose, 0))
{
return;
}
else
{
}
}
}
::CloseHandle(hProcess);
}
这是一个杀进程的函数。
当然,用的时候只需要输入进程名字。
中间也包括了获得进程句柄。参考下吧。
谢谢

HANDLE GetThreadHandl