31 windows_31_ProcBase 进程基础
2016-06-10 13:07
316 查看
windows_31_ProcBase 进程基础
// windows_31_ProcBase.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <psapi.h> //另一块进程操作API
void ProcModule( )
{
printf( "All Modules:\n" );
//当前进程句柄
HANDLE hProc = GetCurrentProcess( );
//获取模块句柄
HMODULE hModules[256] = { 0 };
DWORD nNeed = 0;
EnumProcessModules( hProc,hModules,256,&nNeed);
//计算获取到句柄数量
DWORD nCount = nNeed / sizeof( HMODULE );
//打印句柄
for (DWORD nIndex = 0; nIndex < nCount;nIndex++)
{
//获取各模块所对应的文件名和路径
CHAR szPath[MAX_PATH] = { 0 };
GetModuleFileNameEx( hProc, hModules[nIndex], szPath, MAX_PATH );
printf( "\t%d: %p, %s\n", nIndex + 1, hModules[nIndex] ,szPath);
}
}
void ProcInfo( )
{
//获取进程ID
DWORD nID = GetCurrentProcessId( );
//获取进程句柄(-1,伪句柄)
HANDLE hProc = GetCurrentProcess( );
printf( "Process ID: %d\n", nID );
printf( "Process Handle: %p\n", hProc );
//根据进程ID获取进程实际句柄
hProc = OpenProcess( PROCESS_ALL_ACCESS, FALSE, nID );
printf( "Process Handle: %p\n", hProc );
}
int _tmain(int argc, _TCHAR* argv[])
{
ProcInfo( );
ProcModule( );
return 0;
}
[/code]
来自为知笔记(Wiz)
相关文章推荐
- 30 windows_30_ProcInfo 进程信息
- Hibernate主键生成策略
- 农村土地确权之图解地块 —— 图解地块注意事项说明(三)
- Android的Base初始化,使用代理模式
- android 中Handler 对内存造成溢出和泄露的优化方案 使用 Weak Handler Memory safer implementation of android.os.Handler
- CAN波特率计算的内幕
- SQL实现分组查询取前几条记录
- jta+spring4+hibernate5/jpa2配置
- 动态SQL之模糊查询
- SpringMVC之http的请求响应模型(三)
- Linux下Clock skew detected的解决办法
- 第二阶段冲刺第五天
- zynq ALSA
- 归并排序(初步)
- 程序员福利:各大平台免费接口,非常实用
- Android 判断数据库中是否存在某个表
- Java中的static关键字解析
- js学习笔记(构造器对象、原型对象)
- lightoj 1118 Incredible Molecules 圆面积求交,模板
- PHP数组排序和按数量分割