線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1648
推到 Plurk!
推到 Facebook!

get memory size error

缺席
asd98537
一般會員


發表:27
回覆:25
積分:10
註冊:2002-10-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-14 07:54:29 IP:61.222.xxx.xxx 未訂閱
hi deal all:    我使用下列程式碼在console下,欲列舉出所有正在執行的process其記憶體使用量:    
#include 
#include 
#include         
#include 
#include 
#include 
using namespace std;    int main( )
{
    HANDLE hProcess;
    PROCESS_MEMORY_COUNTERS mc;        
    
    cout<dwSize=sizeof(PROCESSENTRY32);
    int index=0;
    while(Process32Next(hSnapShot,processInfo)!=FALSE)
    {
        hProcess= OpenProcess(PROCESS_ALL_ACCESS,TRUE,processInfo->th32ProcessID);
        if(GetProcessMemoryInfo(hProcess, &mc,sizeof(mc))==FALSE)
                cout<    很奇怪的是,部分對部分不對,process id都ok,但是有許多memory size都是一樣,如
memory use: 9647900
Name: [System Process]
Process ID: 0    memory use: 9647900
Process ID: 652
Name: smss.exe    memory use: 9647900
Process ID: 716
Name: csrss.exe    我有檢查GetProcessMemoryInfo的return value,發現有時候會失敗
但有些process都可以成功取得,請問問題出現在哪?
謝謝     
        
asd98537
一般會員


發表:27
回覆:25
積分:10
註冊:2002-10-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-14 08:27:06 IP:61.222.xxx.xxx 未訂閱
sorry,找到解答了 這篇是講列舉出所有的process id,並印出其memory 參考http://msdn.microsoft.com/library/default.asp?url=/library/en-us/perfmon/base/collecting_memory_usage_information_for_a_process.asp 這篇是講怎樣從process id得到exe file name http://members.tripod.com/~masapico/api_GetModuleFileNameEx.html 發表人 - asd98537 於 2003/11/14 08:34:44
系統時間:2024-05-04 9:54:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!