-
GetProcessMemoryInfo
鎖定
GetProcessMemoryInfo是一個Windows API函數,用於獲取內存的使用情況。
- 外文名
- GetProcessMemoryInfo
- 用 途
- 獲取內存的使用情況
- 返回值
- BOOL
GetProcessMemoryInfo函數介紹
當大家打開Windows任務管理器時,就會看到每個進程使用內存的分佈情況,往往會發現有一些進程佔用大量的內存,在這種情況也是一種異常情況,可以作為是否惡意軟件的標誌之一。下面就來使用API函數GetProcessMemoryInfo來獲取內存的使用情況。
GetProcessMemoryInfo函數聲明
BOOLWINAPIGetProcessMemoryInfo(
HANDLE Process,
PPROCESS_MEMORY_COUNTERS ppsmemCounters,
DWORD cb
);
GetProcessMemoryInfo參數説明
Process是獲取內存使用情況的進程句柄。
ppsmemCounters是返回內存使用情況的結構。
GetProcessMemoryInfo調用步驟
使用函數GetProcessMemoryInfo獲取程序當前內存使用量的步驟如下:
1.在程序中添加pragma comment(lib,"Psapi.lib"),將Psapi.lib包含進去,或者通過在工程的屬性中添加Psapi.lib;
2.在系統中包含Psapi.h文件;
3.在需要查看內存的代碼處添加如下代碼:
HANDLE handle = GetCurrentProcess(); PROCESS_MEMORY_COUNTERS pmc; GetProcessMemoryInfo(handle, &pmc, sizeof(pmc)); printf("%d\r\n",pmc.WorkingSetSize);
其中pmc.WorkingSetSize就是程序在當前代碼處的內存使用量。
- 參考資料
-
- 1. GetProcessMemoryInfo函數 .網易[引用日期2012-10-12]
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:10次歷史版本
- 最近更新: 飞熊李李