廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 13675 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
oway
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x4 鮮花 x15
分享: 轉寄此文章 Facebook Plurk Twitter 版主評分 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x3
[教學] [BCB 教學]顯示目前記憶體使用狀態+釋放記憶體空間範例
顯示目前記憶體使用狀態

拉三個 Label 元件隨便放,再拉一個 Timer 元件,設定間隔一秒(1000)左右,事件內容如下:
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
TMemoryStatus MemoryStatus;
MemoryStatus.dwLength = sizeof(MemoryStatus);
GlobalMemoryStatus(&MemoryStatus);
Label1->Caption = "實體記憶體總量: "+IntToStr(MemoryStatus.dwTotalPhys/1024)+" KBytes";
Label2->Caption = "剩餘可用的記憶體量: " +IntToStr(MemoryStatus.dwAvailPhys/1024)+" KBytes";
Label3->Caption = "記憶體使用率: " +IntToStr(MemoryStatus.dwMemoryLoad)+" %";
}

/*
MemoryStatus 結構如下,還想顯示其它資訊的自己加:

typedef struct _MEMORYST ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容


此文章被評分,最近評分記錄
財富:150 (by codeboy) | 理由: 感謝您的經驗分享喔~^^



獻花 x8 回到頂端 [樓 主] From:台灣中華電信 | Posted:2006-06-20 01:37 |
mitsune1
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

大大:
    請教一下... 我按照你的方式去試,
    結果發現,我安裝3G的記憶體,卻只能抓到2G
  請問是哪裡需要修改呢?
  在XP的"工作管理員"是顯示3G的容量...
  
  使用方式如下:
  TMemoryStatus MemoryStatus;
 MemoryStatus.dwLength = sizeof(MemoryStatus);
 GlobalMemoryStatus(&MemoryStatus);


獻花 x0 回到頂端 [1 樓] From:臺灣 | Posted:2008-06-23 17:12 |
biii
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

剛來報到, 找一個自己用過的, 來回覆一下~ 表情

其實這個方法只是用擠壓法, 把實體記憶體硬趕到虛擬記憶體
如果只是要趕到虛擬記憶體, 有一個更快的方法
就是找到正在執行且使用率低的的applications, 然後呼叫SetProcessWorkingSetSize就可以了喔
速度可是快了n倍咧

小小範例

hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, id);
if (hProcess != 0)
{
SetProcessWorkingSetSize(hProcess, $FFFFFFFF, $FFFFFFFF);
CloseHandle(hProcess);
}


獻花 x0 回到頂端 [2 樓] From:臺灣 | Posted:2008-07-14 14:26 |
biii
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用mitsune1於2008-06-23 17:12發表的 :
大大:
  請教一下... 我按照你的方式去試,
  結果發現,我安裝3G的記憶體,卻只能抓到2G
  請問是哪裡需要修改呢?
  在XP的"工作管理員"是顯示3G的容量...
  
  使用方式如下:
  TMemoryStatus MemoryStatus;
 MemoryStatus.dwLength = sizeof(MemoryStatus);
 GlobalMemoryStatus(&MemoryStatus);


抓到2G是因為你用long(2147483647 ~ -2147483648) 本來最大就只到2G..


獻花 x0 回到頂端 [3 樓] From:臺灣中華電信 | Posted:2008-07-14 14:31 |
optometrist 手機
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x7 鮮花 x623
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

太厲害囉

感謝分享


獻花 x0 回到頂端 [4 樓] From:臺灣中華HiNet | Posted:2008-08-13 23:04 |
GrandRURU
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x9
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

用力的給它推一把,真的是很值得一看的教學哦! 表情


獻花 x0 回到頂端 [5 樓] From:臺灣 | Posted:2008-08-19 13:16 |
a09000320 手機
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x4 鮮花 x15
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

對我這個新手來說是一大幫助~感謝大大~


獻花 x0 回到頂端 [6 樓] From:歐洲 | Posted:2008-08-31 13:36 |
Soholee
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x12
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

表情 值得研究的Source Code , Thanks Share


獻花 x0 回到頂端 [7 樓] From:臺灣 | Posted:2009-07-21 21:47 |
妦颯 手機
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x6
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

@@ 來研究研究   眼花撩亂 .... 表情


獻花 x0 回到頂端 [8 樓] From:臺灣臺北市 | Posted:2009-08-06 23:10 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.081872 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言