在VB6中如何把系统性能(包括内存和CPU的占用率)的状态在程序界面上直观、实时地显示出来,就像WIN2000或WinXP属性里面的“性能”页上那样Cool的波峰图一样显示。是否可以借助那些第三方控件或调用API函数,或有其它更好的方法来实现?
如哪位能人清楚的话烦请告知!谢谢!

解决方案 »

  1.   

    我的网站上有画曲线图(类似WINDOWS资源管理中的图形)的程序。
    至于怎么把CPU信息画上去,你需要查找一下取得CPU运行参数的程序。http://www.j2soft.cn/VB资料->查询“画曲线图”;====================
    免费的学习交流网站,欢迎大家访问!
    http://www.j2soft.cn/
      

  2.   

    用wmi得到相关数据然后自己绘制曲线。
      

  3.   

    On Error Resume Next
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")
    For Each objItem in colItems
        Wscript.Echo "Address Width: " & objItem.AddressWidth
        Wscript.Echo "Architecture: " & objItem.Architecture
        Wscript.Echo "Availability: " & objItem.Availability
        Wscript.Echo "CPU Status: " & objItem.CpuStatus
        Wscript.Echo "Current Clock Speed: " & objItem.CurrentClockSpeed
        Wscript.Echo "Data Width: " & objItem.DataWidth
        Wscript.Echo "Description: " & objItem.Description
        Wscript.Echo "Device ID: " & objItem.DeviceID
        Wscript.Echo "Ext Clock: " & objItem.ExtClock
        Wscript.Echo "Family: " & objItem.Family
        Wscript.Echo "L2 Cache Size: " & objItem.L2CacheSize
        Wscript.Echo "L2 Cache Speed: " & objItem.L2CacheSpeed
        Wscript.Echo "Level: " & objItem.Level
        Wscript.Echo "Load Percentage: " & objItem.LoadPercentage
        Wscript.Echo "Manufacturer: " & objItem.Manufacturer
        Wscript.Echo "Maximum Clock Speed: " & objItem.MaxClockSpeed
        Wscript.Echo "Name: " & objItem.Name
        Wscript.Echo "PNP Device ID: " & objItem.PNPDeviceID
        Wscript.Echo "Processor Id: " & objItem.ProcessorId
        Wscript.Echo "Processor Type: " & objItem.ProcessorType
        Wscript.Echo "Revision: " & objItem.Revision
        Wscript.Echo "Role: " & objItem.Role
        Wscript.Echo "Socket Designation: " & objItem.SocketDesignation
        Wscript.Echo "Status Information: " & objItem.StatusInfo
        Wscript.Echo "Stepping: " & objItem.Stepping
        Wscript.Echo "Unique Id: " & objItem.UniqueId
        Wscript.Echo "Upgrade Method: " & objItem.UpgradeMethod
        Wscript.Echo "Version: " & objItem.Version
        Wscript.Echo "Voltage Caps: " & objItem.VoltageCaps
    Next保存为 aa.vbs然后运行,
    再vb种使用只要引用wmi然后把 Wscript.Echo 换成msgbox
      

  4.   

    怎么又发一贴?使用SystemMonitor不行吗?Project---〉Components--〉选择System Monitor Control (Sysmon.ocx)控件,确定后将控件
    SystemMonitor拖放到Form上直接用就行。
      

  5.   

    '难道非得给你写出代码你才给分?!这么简单的两行代码就不会写吗?
    '你认为很麻烦的那个框是调用SystemMonitor1.BrowseCounters产生的
    '当然你也可以往Counters中添加CounterItem,如下所示仅仅是添加了
    'Processor Time和内存两项指标,Add的参数参照BrowseCounters打开的那个属性框吧
    '其实所有的参数均可以定制,如果你不想要他所有界面你也可以将所有界面重写Option ExplicitPrivate Sub Command1_Click()
        'SystemMonitor1.BrowseCounters
        SystemMonitor1.Counters.Add "\Processor(0)\% Processor Time"
        SystemMonitor1.Counters.Add "\Memory\Pages/sec"
    End Sub