| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1955 人关注过本帖
标题:进程cpu使用率怎么得到?
只看楼主 加入收藏
huwei1024
Rank: 1
等 级:禁止发言
帖 子:149
专家分:0
注 册:2007-4-12
收藏
 问题点数:0 回复次数:6 
进程cpu使用率怎么得到?
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: cpu 使用率 进程 
2007-12-03 11:17
huwei1024
Rank: 1
等 级:禁止发言
帖 子:149
专家分:0
注 册:2007-4-12
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2007-12-03 13:39
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
[url]http://www.[/url]

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-12-03 13:48
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
[url]http://www.[/url]

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-12-03 13:59
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
FILETIME,   lpUserTime   As   FILETIME)   As   Long   
  Private   Declare   Function   FileTimeToSystemTime   Lib   "kernel32"   (lpFileTime   As   FILETIME,   lpSystemTime   As   SYSTEMTIME)   As   Long   
  Private   Type   FILETIME   '   8   Bytes   
          dwLowDateTime   As   Long   
          dwHighDateTime   As   Long   
  End   Type   
  Private   Type   SYSTEMTIME   '   16   Bytes   
  wYear   As   Integer   
  wMonth   As   Integer   
  wDayOfWeek   As   Integer   
  wDay   As   Integer   
  wHour   As   Integer   
  wMinute   As   Integer   
  wSecond   As   Integer   
  wMilliseconds   As   Integer   
  End   Type   
  'Private   Const   STANDARD_RIGHTS_REQUIRED   =   &HF0000   
  Private   Const   SYNCHRONIZE   =   &H100000   
  'Public   Const   SPECIFIC_RIGHTS_ALL   =   &HFFFF   
  Const   STANDARD_RIGHTS_REQUIRED   =   &HF0000   
  Private   Const   PROCESS_ALL_ACCESS   =   STANDARD_RIGHTS_REQUIRED   Or   SYNCHRONIZE   Or   &HFFF   
   
  Function   GetCpuTime(PID   As   Long)   As   String   
  Dim   lpCreateionTime   As   FILETIME,   lpExitTime   As   FILETIME,   lpKernelTime   As   FILETIME   
  Dim   lpUserTime   As   FILETIME,   CPUtime   As   FILETIME,   SysTime   As   SYSTEMTIME   
   
  GetProcessTimes   OpenProcess(PROCESS_ALL_ACCESS,   False,   PID),   lpCreateionTime,   lpExitTime,   lpKernelTime,   lpUserTime   
  CPUtime.dwHighDateTime   =   lpKernelTime.dwHighDateTime   +   lpUserTime.dwHighDateTime   
  CPUtime.dwLowDateTime   =   lpKernelTime.dwLowDateTime   +   lpUserTime.dwLowDateTime   
  FileTimeToSystemTime   CPUtime,   SysTime   
  GetCpuTime   =   (SysTime.wHour   &   ":"   &   SysTime.wMinute   &   ":"   &   SysTime.wSecond)   
  End   Function   
   
  上面是获取某一程序CPU时间的函数   应该可以直接用了   
   
  下面是获取某一程序占用内存的函数,还少了一些API函数和常数值申明     
  实在太困了   自己去找找吧     
   
  Public   Type   PROCESS_MEMORY_COUNTERS   
          cb   As   Long   
          PageFaultCount   As   Long   
          PeakWorkingSetSize   As   Long   
          WorkingSetSize   As   Long   
          QuotaPeakPagedPoolUsage   As   Long   
          QuotaPagedPoolUsage   As   Long   
          QuotaPeakNonPagedPoolUsage   As   Long   
          QuotaNonPagedPoolUsage   As   Long   
          PagefileUsage   As   Long   
          PeakPagefileUsage   As   Long   
  End   Type   
  Public   Function   GetMemory(PID   As   Long)   As   Long   
  Dim   pmc   As   PROCESS_MEMORY_COUNTERS   
  Dim   lret   As   Long,   ID   As   Long   
          id   =   OpenProcess(PROCESS_QUERY_INFORMATION   Or   PROCESS_VM_READ,   0,   PID)   
          pmc.cb   =   LenB(pmc)   
          lret   =   GetProcessMemoryInfo(id,   pmc,   pmc.cb)   
          GetMemory   =   pmc.WorkingSetSize   /   1024   
  End   FunctionTop

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-12-03 14:01
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
Public   Function   Memory()   
  '====================================   
  '   
  '服务器可用户内存   
  '   
  '====================================   
  strComputer   =   "."   
  Set   objWMIService   =   GetObject("winmgmts:\\"   &   strComputer   &   "\root\cimv2")   
  For   i   =   1   To   20   
          Set   colItems   =   objWMIService.ExecQuery("Select   *   From   Win32_PerfRawData_PerfOS_Memory")   
          For   Each   objItem   In   colItems   
                  intValue   =   objItem.AvailableMbytes   
                  
                Memory=   "可用内存   =   "   &   intValue   &   "   MB"   
                'Memory=   intValue   &   "   MB"   
          Next   
  Next   
  End   Function   
   
获取内存使用所剩的容量

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-12-03 14:02
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
WMI  可以实现很多系统信息的查询

介绍看这里[url]http://www.[/url]

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-12-03 14:20
快速回复:进程cpu使用率怎么得到?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019318 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved