广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 13679 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为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.086413 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言