GetProcessHandleCount() -- 获取属于指定进程的已打开句柄数
2012-08-29 15:25
555 查看
想获取指定进程打开的句柄数:
用GetProcessHandleCount()。
枚举进程信息:
NtQuerySystemInformation( ).
GetProcessHandleCount() -- 获取属于指定进程的已打开句柄数
GetProcessHandleCount() 原型如下:BOOL WINAPI GetProcessHandleCount( __in HANDLE hProcess, __inout PDWORD pdwHandleCount );
该函数用来获取属于指定进程的已打开的句柄数。
第 1 个参数 hProcess 是输入参数,指定进程的句柄。
第 2 个参数 pdwHandleCount 用来存储返回的属于指定进程的已打开的句柄数。
通常,任何一个进程都可以创建一个已经存在的内核对象的句柄,创建成功后,该进程里所拥有的打开句柄数就会增加(可能增加 1 或者大于 1),比如调用 CreateFile() 函数创建一个文件。
测试代码:
#include "stdafx.h" #include <Windows.h> int _tmain(int argc, _TCHAR* argv[]) { DWORD dwHandleCount; GetProcessHandleCount(GetCurrentProcess(), &dwHandleCount); printf ("Current Process Handle count : %d\n", dwHandleCount); HANDLE fh; fh = CreateFile (TEXT("Groad.txt"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, 0, NULL); //创建一个文件 if (fh == INVALID_HANDLE_VALUE) { _tprintf (_T("Cannot open file\n")); exit (1); } GetProcessHandleCount(GetCurrentProcess(), &dwHandleCount); printf ("Now, Current Process Handle count : %d\n",dwHandleCount); return 0; }
运行输出:
Current Process Handle count : 11
Now, Current Process Handle count : 12
转载于:http://www.groad.net/bbs/simple/?t6392.html
相关文章推荐
- 获取指定窗口句柄结束进程 OpenProcess FindWindow GetExitCodeprocess TerminateProcess
- 内存管理[5]通过 GetProcessHeaps 函数获取了当前进程的堆句柄列表
- Process 后, 如何获取打开窗口的句柄(根据进程句柄获取窗口句柄)
- 根据进程结合GetModuleHandle获取当前主模块句柄
- 根据进程结合GetModuleHandle获取当前主模块的句柄
- 利用GetProcessMemoryInfo 获取进程内存使用
- 查看进程所用的内存(使用GetWindowThreadProcessId取得进程ID,OpenProcess打开进程和GetProcessMemoryInfo取得内存信息)
- C# 获取指定进程的主窗口句柄
- Linux 父进程如何获取子进程返回值?parent get child process return value,fork,wait,wait_pid
- 利用GetProcessMemoryInfo 获取进程内存使用
- How to get the password text in a text with password property from another process using C++ - 用C++如何从不同进程获取密码框文本
- 利用GetProcessMemoryInfo 获取进程内存使用
- AfxGetResourceHandle用于获取当前资源模块句柄,而AfxSetResourceHandle则用于设置程序目前要使用的资源模块句柄。
- windows vis c++/GetEnvironmentStrings 如何获取打开进程的环境变量字符串
- 获取进程内存信息 GetProcessMemoryInfo (p/invoke)
- 获取指定进程模块handle 然后FreeLibrary掉
- java中如何获取Runtime.getRuntime().exec()或ProcessBuilder.start()产生的进程信息
- 获取其它进程窗口中的状态栏信息(FindWindowEx GetWindowThreadProcessId OpenProcess SendMessage轮番轰炸)
- 纯net获取打开进程的窗口句柄
- PsGetProcessImageFileName - 获取进程的主模块路径