设为首页  加入收藏  联系我们 繁體中文  

黑客软件:

  漏洞扫描 | 木马间谍 | 加密解密 | 远程控制 | 破坏攻击 | 杀毒软件 | 防火墙类 | OICQ专区 | 黑客必备 | 常用工具 | 网吧攻击
文章中心:   最新资讯 | 黑客技术 | 电脑基础 | 菜鸟文摘 | 网络安全 | 网络技巧 | QQ技巧 | OQ空间代码 | 免费资源 | 编程世界 | 建站技术
素材源码:   论坛相关 | ASP源码 | CGI 源码 | NET 源码 | PHP 源码 | 酷站素材 | 字体素材 | 图片素材 | 友情发布 | 网页模版 | 建站软件
教程动画:   黑客教程 | 黑客编程 | 网站入侵 | 菜鸟教程 | 入侵教程 | 破解教程 | 电子书籍 | 网页制作 | 高级会员 | 综合教程 | 本站原创


   

  您当前的位置:中华隐士黑客联盟 -> 编程世界 -> VB编程 -> 文章内容 [站内搜索]  

 
用VB编程监控CPU的资源状况
作者:不详  来源:转载  发布时间:2006-12-3 16:39:15  发布人:heigeheapao
 作为一个系统级程序员或者编程爱好者,掌握一些系统的高级编程技巧是非常有意义的。本文将介绍如何利用一些高级的编程技巧来实现动态监控。

  虽然Windows 98“系统工具”中的“资源状况”程序能够监视CPU的资源占用状况,但是那些相关的数据却无法传递到我们自己的程序中。为此,笔者用VB 6编写了一个具有上述功能的CPU监视软件,它可以实现对CPU资源状况的监视并取得有关数据,并且能够显示到一

个精致的图示窗口中。

  编程原理

  CPU的资源占用情况真正反映在CMOS中,但是如果我们直接从这里开始编程,那将是一件非常复杂的工作。幸好,Windows 98已经帮我们做好了这一步,它的底层技术能够从CMOS中获取CPU的资源占用状况参数并且记录到注册表中“HKEY_DYN_DATAPerfStatsStatData”的分支“KERNELCPUUsage”中,通过周期性地读取该键的键值,并且将参数传递到我们自己制作的监视器界面或者有关变量中,就可以即时获得并反映出CPU的使用状况了。

  本程序的关键是以通用的方法获取相关键值并反映输出到自制的动态进度监视器上,为了更有利于观察、分析,我们将添加一个简单的趋势分析平均线。通过本文,初学者还将能了解如何从注册表的指定项获取数据和利用Picture控件实现进度指示器的编程技巧。

  开发步骤

  1.设计程序界面

  首先运行VB 6中文版,建立一个标准的exe工程,将窗体命名为frmmain,borderstyle属性设为:3-fixed,caption,属性设置为空;接着添加一个frame控件——“frame1”,caption属性设置为空,再添加picturebox控件pctPrg,前景色为绿色,背景色为浅红色;最后添加一个定时器控件——“timer”,interval设置为100(当然,也可以根据自己的需要设置读取间隔),enabled设置为true,其他的属性采用系统的默认值,调整窗体和控件到适当位置和适当大小即可。

  2.编写程序代码,双击窗体frmmain并输入以下代码

   Option Explicit'变量检查

  Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

  '获取一个指定的注册表项的设置值

  Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

  '打开一个指定的的注册表项

  Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

  '关闭系统注册表中的指定项(或指定键)

  Private Const REG_DWORD = 4

  Private Const HKEY_DYN_DATA = &&H80000006

  '这两个常数是读写注册表必须的

  '以上API函数和常数结合能够实现对注册表任意指定项的访问

  Private Avg As Long

  'CPU资源占用参数平均数

  Private Sum As Long

  'CPU资源占用参数合计数

  Private Index As Long '统计次数

  '窗体级函数、常数和变量声明结束

  Private Function GetCPUUsage() As Long

   On Error Resume Next

   '忽略可能产生的错误

  Dim Data As Long, Typ As Long, Size As Long

   Dim hKey As Long

   Dim hRet As Long

   hRet = RegOpenKey(HKEY_DYN_DATA, "PerfStatsStatData", hKey)

  '打开该主键

   hRet = RegQueryValueEx(hKey, "KERNELCPUUsage", 0&&, REG_DWORD, Data, 4)

  '读取主键值

   GetCPUUsage = Data

  '为自定义函数赋值

   hRet = RegCloseKey(hKey)

  '关闭该主键

  End Function

  Private Sub Form_Load()

  '初始化标题和提示信息

   Dim hKey As Long, Data As Long

   App.Title = "CPU监视器占有率:"

   Me.Caption = App.Title

  '初始化应用程序标题栏

[] [返回上一页] [打 印] [收 藏]
  [相关文章评论]    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
 

  使用VB制作一个摇奖..
用vb6的ActiveX控件..
用VB6.0设计简易赛车..
如何用VB获得机器的..
用VB实现一个简单的..
如何用VB程序来播放..
用VB编写标准CGI程序..
用VBScript实现对Wi..
用VB6.0编写“木马”..
用VB做病毒


 
中华隐士黑客联盟
本站超级酷的Flash (不看会后悔的..
免费在线看的电影网站(一)
最新QQ空间4.0全屏版效果图!!
免费获得Q币的最新方法
黑客快速入门(强烈推荐)
不用木马,轻松万能偷盗QQ号码
揭秘远程破解盗窃QQ密码的各种方..
免费二级域名申请
18岁少女欲6000元卖处女身 救患血..
 
网络实名制应当慎行 12-04
微软在线安全策略总监:赢取反垃圾.. 12-04
李开复指责以竞价排名牟利 暗指百.. 12-04
McAfee:07年主要威胁窃取金钱恶.. 12-04
微软账号 遭用户抢注炒卖 12-04
信息产业部:中国网民总数超过1... 12-04
网页仿冒新招钓鱼邮件套取银行卡.. 12-04
警惕!Windows系统中各种不老实的.. 12-04
详细分解交换机的口令恢复的十个.. 12-04
DDos攻击防范和全局网络安全的应.. 12-04
 
关于本站 网站帮助 广告合作 下载声明 友情连接 网站地图 访客留言 论坛登录
〖中华隐士黑客联盟〗,Copyright © 2006-2010 WwW.Hack86.Com 闽ICP备:06023304号
站长:小质 QQ:771760,软件发布MAIL:Hack086@21cn.com