GetProcessMemoryInfo

GetProcessMemoryInfo是一個Windows API函式,用於獲取記憶體的使用情況。

基本介紹

  • 外文名:GetProcessMemoryInfo
  • 用途:獲取記憶體的使用情況
  • 返回值:BOOL
函式介紹,函式聲明,參數說明,調用步驟,

函式介紹

當大家打開Windows任務管理器時,就會看到每個進程使用記憶體的分布情況,往往會發現有一些進程占用大量的記憶體,在這種情況也是一種異常情況,可以作為是否惡意軟體的標誌之一。下面就來使用API函式GetProcessMemoryInfo來獲取記憶體的使用情況。

函式聲明

BOOLWINAPIGetProcessMemoryInfo(
HANDLE Process,
PPROCESS_MEMORY_COUNTERS ppsmemCounters,
DWORD cb
);

參數說明

Process是獲取記憶體使用情況的進程句柄。
ppsmemCounters是返回記憶體使用情況的結構。
cb是結構的大小。

調用步驟

使用函式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就是程式在當前代碼處的記憶體使用量。

相關詞條

熱門詞條

聯絡我們