春暖花开
雪化了,花开了,春天来了
C++博客
首页
新随笔
新文章
联系
聚合
管理
posts - 149,comments - 125,trackbacks - 0
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(9)
给我留言
查看公开留言
查看私人留言
随笔分类
(144)
C#学习
c++学习(24)
Windows Mobile(32)
windows学习(42)
测试学习
多语言学习(1)
面试总结(6)
日常总结(11)
设计模式(2)
生活之乐(20)
网络学习(5)
我思我想(1)
随笔档案
(149)
2010年11月 (1)
2009年12月 (1)
2009年10月 (5)
2009年9月 (6)
2009年8月 (10)
2009年7月 (27)
2009年6月 (22)
2009年5月 (6)
2009年4月 (12)
2009年3月 (11)
2009年2月 (10)
2009年1月 (5)
2008年12月 (17)
2008年11月 (9)
2008年10月 (4)
2008年7月 (2)
2008年5月 (1)
文章分类
(54)
C++(19)
CLR via C#(1)
UML学习(1)
Window Mobile(9)
春之心情(8)
界面控件学习(2)
算法学习(2)
杂项学习(12)
文章档案
(54)
2011年10月 (1)
2009年7月 (4)
2009年6月 (1)
2009年5月 (1)
2009年4月 (6)
2009年3月 (1)
2009年2月 (1)
2008年12月 (6)
2008年11月 (11)
2008年10月 (14)
2008年8月 (1)
2008年7月 (6)
2008年5月 (1)
技术博客
蚂蚁终结者
蚂蚁终结者
Sleeping
woaidongmao
λ-calculus in C++Blogs
编程小区
李先静的专栏
那谁的技术博客
万连文
小P成长记_透过C++看人生
有意思的排序动画
周星星
搜索
积分与排名
积分 - 319862
排名 - 76
最新评论
1. re: vs 后缀名总结
评论内容较长,点击标题查看
--best resume writers
2. re: MoveFile、CopyFile和DeleteAndRenameFile[未登录]
其实可以试试SHFileOperation这个API。
--riverqh
3. re: 如何在方框里打对勾
太牛X了
--落雪
4. re: MoveFile、CopyFile和DeleteAndRenameFile
评论内容较长,点击标题查看
--1111
5. re: 文件操作:CreateFile和WriteFile的学习
评论内容较长,点击标题查看
--小松鼠
阅读排行榜
1. 文件操作:CreateFile和WriteFile的学习(52668)
2. SHELLEXECUTEINFO 和 ShellExecuteEx的使用(35384)
3. 回调函数和函数指针(13191)
4. 转: C++ pair用法(12005)
5. warning C4005: 'WINVER' : macro redefinition 的解决方法(8040)
评论排行榜
1. 文件操作:CreateFile和WriteFile的学习(13)
2. Windows Mobile 发送短信的问题(13)
3. LoadString的一些小用法(8)
4. 回调函数和函数指针(7)
5. 关于debug和release的一点疑惑(7)
单个进程所占内存的大小
如何获得单个进程所占内存的大小,也许很简单,通过GetProcessMemoryInfo可以轻松获得,然而那是在PC上。但在windows mobile 上,这个函数不存在,它的实现机制我也不太清楚。所以如何获得一个进程的占用内存大小,则需要另辟蹊径。不过目前,我还没有找到。
我现在的方法,如下:
1
DWORD GetUsedMemory(DWORD pID)
2
{
3
DWORD memUsage
=
0
;
4
HANDLE hSnapShot
=
CreateToolhelp32Snapshot(TH32CS_SNAPHEAPLIST, pID);
5
if
(INVALID_HANDLE_VALUE
!=
hSnapShot)
6
{
7
HEAPLIST32 heapList;
8
heapList.dwSize
=
sizeof
(HEAPLIST32);
9
BOOL bOk
=
Heap32ListFirst(hSnapShot,
&
heapList);
10
for
(; bOk; bOk
=
Heap32ListNext(hSnapShot,
&
heapList))
11
{
12
HEAPENTRY32 he;
13
he.dwSize
=
sizeof
(HEAPENTRY32);
14
BOOL fOK
=
Heap32First(hSnapShot,
&
he, pID, heapList.th32HeapID);
15
for
(; fOK; fOK
=
Heap32Next(hSnapShot,
&
he))
16
{
17
memUsage
+=
he.dwBlockSize;
18
}
19
}
20
21
22
23
//
关闭快照句柄
24
CloseToolhelp32Snapshot(hSnapShot);
25
}
26
27
return
memUsage;
28
29
}
以上的这个方法与实际有出入。
有没有更好的办法呢?希望研究过的和正在研究的人,或者感兴趣的人,能够指点一二,让我能够走出困惑。
posted on 2008-07-21 16:40
Sandy
阅读(1113)
评论(0)
编辑
收藏
引用
所属分类:
Window Mobile
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
转:Pocket PC/Smartphone软件安装包之制作DIY
转:Windows Mobile,DMProcessConfigXML 使用实例
转:Windows高级程序设计
转:MultiByteToWideChar和WideCharToMultiByte用法详解收藏
不解的多语言
转:基于Windows CE的嵌入式系统开发流程
如何获取和设置蓝牙无线电的状态
单个进程所占内存的大小
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理