用VC++编写程序,像任务管理器那样获得某个进程的句柄数,和线程数

用VC++编写程序,像任务管理器那样获得某个进程的句柄数,和线程数,第1张

VC 获取进程线程枝枯颂数

#include <tlhelp32.h>

void EnumProcess(void)

{

HANDLE hProcessSnap

HANDLE hProcess

PROCESSENTRY32 pe32

DWORD dwPriorityClass

hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)

if (hProcessSnap == INVALID_HANDLE_VALUE)

{

return

}

pe32.dwSize = sizeof(PROCESSENTRY32)

if (!Process32First(hProcessSnap, &pe32))

{

CloseHandle(hProcessSnap)

return

}

do

{

//printf("%s", pe32.szExeFile)//完整文件名

//printf("%d", (int)pe32.cntThreads)//线程

}while(Process32Next(hProcessSnap, &pe32))

CloseHandle(hProcessSnap)

}

如果要获取进程句柄

HANDLE hProcessHandle

hProcessHandle = OpenProcess(0x1F0FFF, true, ProcessID)//ProcessID进程ID

这个在控制台,Win32 SDK ,MFC 都败闷可以用的,只不过

SDK ,MFC 输出就 不用 printf 了,只猛郑要把获取的内容赋给变量就行了

句柄,是整个Windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个4字节(64位敏庆唯程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。

通俗的来讲,句柄是一桥培个ID。我们可以利用这个ID *** 作这个ID所绑定的空间,对象等。

比较常见的句柄,比如:HINSTANCE(实例句柄),HBITMAP(位图句柄),HDC(设备描述表句柄),HICON(图标差埋句柄)等等。

我们利用这些句柄 *** 作对象,图片,设备等等。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12376640.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存