如何获取进程内存使用情况?

How to get process memory usage?

我一直在寻找如何获取进程内存使用情况,仅使用 AutoHotkey 脚本是否可行?

如果有人能指出从哪里开始,谢谢。

这个功能怎么样?

GetProcessMemoryInfo(PID) {
    size := 440
    VarSetCapacity(pmcex,size,0)
    ret := ""
    
    hProcess := DllCall( "OpenProcess", UInt,0x400|0x0010,Int,0,Ptr,PID, Ptr )
    if (hProcess)
    {
        if (DllCall("psapi.dll\GetProcessMemoryInfo", Ptr, hProcess, Ptr, &pmcex, UInt,size))
            ret := NumGet(pmcex, (A_PtrSize=8 ? "16" : "12"), "UInt")/1024 . " K"
        DllCall("CloseHandle", Ptr, hProcess)
    }
    return % ret
}

摘自 AHK_Task 经理: https://www.autohotkey.com/board/topic/79151-ahk-task-manager/