随笔:8 文章:2 评论:5 引用:0
AICER
始有道,道生时空。时空,编程之阴阳。不得道者失时空,得道者时空盈余以完工。其有异乎?
C++博客
首页
发新随笔
发新文章
联系
聚合
管理
Windows系统性能监视器
最近看到浪潮的猎鹰服务器管理软件,其中可以对远程服务器的CPU和内存使用率进行实时监视,就像任务管理器那样绘制一个报表。我推断他要么是使用SNMP协议从客户机拿到数据之后在传递给管理器,要么就是使用Windows提供的某些System Performence COM组件来抓数据。
查MSDN,上有一个System Monitor的例子。居然是用VBScript来调一调控制面板-〉管理工具-〉性能-〉系统监视器。既然是用HTML嵌VBScript,那转换为应用程序到也方便,将文件后缀名改为.hta,即以HTML Application方式打开,由MSHTA.exe来解释执行就可以了。
下面的程序就是从命令行中获取要监视的计算机IP地址后,启动System Monitor,监视之。
<
HTML
>
<
HEAD
>
<
HTA:APPLICATION
ID
="oHTA"
APPLICATIONNAME
="myApp"
>
<
meta
http-equiv
="Content-Type"
content
="text/html; charset=gb2312"
>
</
HEAD
>
<
BODY
BGCOLOR
="#C0C0C0"
>
<
SCRIPT
LANGUAGE
="VBScript"
>
Sub
Monitor_OnCounterAdded(index)
Monitor.Counters.Item(
1
).Width
=
8
End Sub
</
SCRIPT
>
<
OBJECT
CLASSID
="clsid:C4D2D8E0-D1DD-11CE-940F-008029004347"
ID
="Monitor"
HEIGHT
="80%"
WIDTH
="100%"
VIEWASTEXT
>
</
OBJECT
>
<
SCRIPT
LANGUAGE
="VBScript"
>
Sub
Window_OnLoad
On
Error
Resume
Next
Monitor.ShowValueBar
=
True
Monitor.ShowHorizontalGrid
=
True
Arg
=
Trim
( oHTA.commandLine )
IPArgPos
=
InStr
(
2
, Arg,
"
""
"
,
1
)
IPArg
=
Trim
(
right
( Arg,
len
(Arg)
-
IPArgPos) )
IPStrings
=
split
( IPArg,
"
"
,
-
1
,
1
)
for
i
=
0
to
uBound
(IPStrings)
Monitor.Counters.Add(
"
\\
"
+
IPStrings(i)
+
"
\Processor(_Total)\% Processor Time
"
)
Monitor.Counters.Add(
"
\\
"
+
IPStrings(i)
+
"
\Memory\Available MBytes
"
)
Monitor.Counters.Add(
"
\\
"
+
IPStrings(i)
+
"
PhysicalDisk(_Total)\Avg. Disk Queue Length
"
)
Monitor.Counters.Add(
"
\\
"
+
IPStrings(i)
+
"
\LogicalDisk(_Total)\% Free Space
"
)
Monitor.Counters.Add(
"
\\
"
+
IPStrings(i)
+
"
\Network Interface(*)\Bytes Total/sec
"
)
Next
'
Monitor.Counters.Add( "\Process(*)\% Processor Time")
Monitor.DisplayType
=
sysmonLineGraph
Monitor.GraphTitle
=
"
计算机系统性能监视
"
End Sub
</
SCRIPT
>
</
BODY
>
</
HTML
>
不知道大家有没有使用过COM组件将这样的东西嵌到C++程序中。如果有的话,不妨发表上来看看。
发表于 2006-05-21 11:41
Squirrel
阅读(1636)
评论(0)
编辑
收藏
引用
所属分类:
Windows
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
CALENDER
<
2006年5月
>
日
一
二
三
四
五
六
30
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
31
1
2
3
4
5
6
7
8
9
10
公告
View My Stats
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
(7)
BOOST::Python(2)
(rss)
C/C++(3)
(rss)
Windows(1)
(rss)
天籁之音(1)
(rss)
随笔档案
(8)
2006年5月 (7)
2005年11月 (1)
文章档案
(2)
2005年12月 (1)
2005年11月 (1)
友情链接
搬家公司
讨债公司
搜索
积分与排名
积分 - 20833
排名 - 795
最新评论
1. re: Pythonwin VS Eclipse PyDev
评论内容较长,点击标题查看
--DiazJill26
2. re: [转载]用Boost.Python构建混合系统 [未登录]
To Terry, 上面的文章不是已经解释得很清楚了吗。序列化的例子就可以解决你的问题。
--Squirrel
3. re: [转载]用Boost.Python构建混合系统 [未登录]
评论内容较长,点击标题查看
--Terry
4. re: Windows下 ACE中的地址重用
评论内容较长,点击标题查看
--Squirrel
5. re: Windows下 ACE中的地址重用
我也想知道答案.
--<font color="#FF00FF" >Stone Jiang
阅读排行榜
1. Pythonwin VS Eclipse PyDev(10740)
2. Windows凭据管理(2865)
3. [转载]用Boost.Python构建混合系统 (1821)
4. Windows系统性能监视器(1636)
5. Windows下 ACE中的地址重用(1295)
评论排行榜
1. Pythonwin VS Eclipse PyDev(2)
2. [转载]用Boost.Python构建混合系统 (2)
3. Windows下 ACE中的地址重用(2)
4. 编程语言发展历程(0)
5. 如此项目管理(0)
Powered By:
博客园
模板提供
:
沪江博客