31 windows_31_ProcBase 进程基础

Posted 养老保险年审

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了31 windows_31_ProcBase 进程基础相关的知识,希望对你有一定的参考价值。

windows_31_ProcBase 进程基础


  1. // windows_31_ProcBase.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include "stdafx.h"
  4. #include <windows.h>
  5. #include <psapi.h> //另一块进程操作API
  6. void ProcModule( )
  7. {
  8. printf( "All Modules:\n" );
  9. //当前进程句柄
  10. HANDLE hProc = GetCurrentProcess( );
  11. //获取模块句柄
  12. HMODULE hModules[256] = { 0 };
  13. DWORD nNeed = 0;
  14. EnumProcessModules( hProc,hModules,256,&nNeed);
  15. //计算获取到句柄数量
  16. DWORD nCount = nNeed / sizeof( HMODULE );
  17. //打印句柄
  18. for (DWORD nIndex = 0; nIndex < nCount;nIndex++)
  19. {
  20. //获取各模块所对应的文件名和路径
  21. CHAR szPath[MAX_PATH] = { 0 };
  22. GetModuleFileNameEx( hProc, hModules[nIndex], szPath, MAX_PATH );
  23. printf( "\t%d: %p, %s\n", nIndex + 1, hModules[nIndex] ,szPath);
  24. }
  25. }
  26. void ProcInfo( )
  27. {
  28. //获取进程ID
  29. DWORD nID = GetCurrentProcessId( );
  30. //获取进程句柄(-1,伪句柄)
  31. HANDLE hProc = GetCurrentProcess( );
  32. printf( "Process ID: %d\n", nID );
  33. printf( "Process Handle: %p\n", hProc );
  34. //根据进程ID获取进程实际句柄
  35. hProc = OpenProcess( PROCESS_ALL_ACCESS, FALSE, nID );
  36. printf( "Process Handle: %p\n", hProc );
  37. }
  38. int _tmain(int argc, _TCHAR* argv[])
  39. {
  40. ProcInfo( );
  41. ProcModule( );
  42. return 0;
  43. }





以上是关于31 windows_31_ProcBase 进程基础的主要内容,如果未能解决你的问题,请参考以下文章

Windows下tomcat进程监控批处理程序

av68676164(p31-p32)Windows和Linux同步机制

CCF_ 201509-2_日期计算

Android 模拟器 SDK 工具更新到 31.1.4 无法运行

探索哪个进程使磁盘I/O升高

01_MySQL下载安装与配置(以MySQL8.0.31版本为例)