日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用EnumProcesses()枚举进程

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用EnumProcesses()枚举进程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參照msdn的例子,用EnumProcesses()枚舉進程并輸入進程名和句柄。以下代碼在vs2008中測試通過:

#include "stdafx.h" #include <windows.h> #include "psapi.h" #pragma comment (lib, "psapi.lib ")void MyEnumProcess() {// Get the list of process identifiers.DWORD aProcesses[1024], cbNeeded, cProcesses;unsigned int i;if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) ) //枚舉進程return;cProcesses = cbNeeded / sizeof(DWORD); //計算進程個數for ( i = 0; i < cProcesses; i++ )if( aProcesses[i] != 0 ){TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |PROCESS_VM_READ,FALSE, aProcesses[i] ); //獲得進程句柄if (NULL != hProcess ){HMODULE hMod;DWORD cbNeeded;if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), &cbNeeded) ) //枚舉進程模塊信息{GetModuleBaseName( hProcess, hMod, szProcessName, sizeof(szProcessName)/sizeof(TCHAR) ); //取得主模塊全名,每個進程第一模塊則為進程主模塊}}_tprintf( TEXT("%s (PID: %u)\n"), szProcessName, aProcesses[i] ); //輸出進程名及PIDCloseHandle( hProcess );} }void main( ) {MyEnumProcess();system("pause"); }代碼在我電腦上的運行結果如下圖:




總結

以上是生活随笔為你收集整理的用EnumProcesses()枚举进程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。