win api取得进程句柄
如何用winapi获取任意一个应用程序的进程句柄,比如我想结束掉一个名字叫hj的进程,该进程没有窗口,我只是在任务管理器里看到了这个名字。我查资料找到了CreateToo...
如何用win api获取任意一个应用程序的进程句柄,比如我想结束掉一个名字叫 hj 的进程,该进程没有窗口,我只是在任务管理器里看到了这个名字。我查资料找到了CreateToolhelp32Snapshot、Process32First、Thread32Next、OpenProcess、TerminateProcess这几个函数。但是对怎么找出指定进程还是不知道怎么弄,请各位给出详细写法,或者用其他方法更好 谢谢
展开
2个回答
展开全部
HANDLE Snapshot;
Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); //获得某一时刻系统的进程、堆(heap)、模块(module)或线程的快照信息 PROCESSENTRY32 processListStr;
processListStr.dwSize = sizeof(PROCESSENTRY32); BOOL return_value;
return_value = Process32First(Snapshot,&processListStr); //获得系统进程链表中第一个进程的信息 while(return_value)
{
if( ACE_OS::strcmp(process_name, processListStr.szExeFile) == 0 )
{ //比较进程名,如果此进程与传入的进程名相同,那么就找到了需要的进程信息
process_id = processListStr.th32ProcessID; break;
}
return_value = Process32Next(Snapshot, &processListStr); //获得系统进程链表中下一个进程的信息 }
CloseHandle( Snapshot );
参考百度文库文章:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询