简述

Ring3用户态下查看进程信息的基本方法

代码样例

#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <tchar.h>
#include <Windows.h>
#include <TlHelp32.h> //Windows.h头文件必须包含在TlHelp32.h之前 using namespace std; int main(void)
{
LPTSTR buff = new TCHAR[1024];
PROCESSENTRY32 pe32; //进程信息结构体
memset(buff,0x00,1024);
HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); //获取进程快照
if(hProcessSnap==INVALID_HANDLE_VALUE)
{
cout<<"SnapShot Create Error"<<endl;
return 0;
}
pe32.dwSize = sizeof(pe32);
BOOL bProcess = Process32First(hProcessSnap,&pe32); //获取第一个进程
printf(" ID FileName\n");
printf("----- --------\n");
while (bProcess)
{
wsprintf(buff,_TEXT("%d %s"),pe32.th32ProcessID,pe32.szExeFile);
wcout<<buff<<endl;
memset(buff,0x00,1024*sizeof(TCHAR));
bProcess = Process32Next(hProcessSnap,&pe32); //在调用Process32First函数后继续调用下一个进程
}
system("pause");
return 0;
}

最新文章

  1. iOS-----写一个规范的单例---&gt;
  2. jquery添加光棒效果的各种方式以及简单动画复杂动画
  3. mysql中表名是order的CRUD的错误
  4. Recover Binary Search Tree--leetcode难题讲解
  5. Make Rules
  6. New MVC World
  7. ThinkPad New X1 Carbon中关闭任务栏上的触摸键盘
  8. TCP和UDP 的区别和适用场合
  9. CJOJ 免费航班
  10. 从PRISM开始学WPF(八)導航Navigation?
  11. oracle insert into 插入多组数据方法总结
  12. [转] Mongoose简要API
  13. Unity3D中自带事件函数的执行顺序
  14. PDO 基础知识
  15. could not connect to server: Connection refused (0x0000274D/10061)
  16. Android.mk遍历子目录所有文件
  17. Docker安装及基础知识
  18. Runtime - Associated Objects (关联对象) 的实现原理
  19. 正则表达式REGEXP
  20. springcloud 笔记-服务注册中心

热门文章

  1. new String(&quot;abc&quot;),到底在不在常量池中存储&quot;abc&quot;?
  2. HDOJ-1754(线段树+单点更新)
  3. HDR(高动态范围)
  4. MySql学习---数据库基本类型,事务,多表查询
  5. cpu缓存和volatile
  6. [UWP] 模仿哔哩哔哩的一键三连
  7. Java 语言基础 (初识Java语言, 变量和数据类型, 运算符, 流程控制语句, 数组)
  8. ECMAScript 2017(ES8)新特性简介
  9. Hystrix 实战经验分享
  10. Codeforces1114C. Trailing Loves (or L&#39;oeufs?)-(质因子分解)