使用Windows计数器的方法

获得系统进程列表

先用CreateToolhelp32Snapshot()函数生成系统进程快照,

然后用Process32First()和Process32Next()就可以获得进程名称和对应的PID了

 

对指定的进程,获得它的拥有者

先用OpenProcess()打开指定进程,

再用OpenProcessToken()获得令牌,

再用GetTokenInformation()获得令牌信息(其中就包含进程拥有者的SID),

再用LookupAccountSid()将SID翻译成用户名

 

获得指定进程的内存使用量 :(用性能计数器的方式获得)

先用PdhOpenQuery()打开一个查询,

再用PdhAddCounter()对这个查询添加计数器:

 

例子:

监控指定进程消耗CPU时间

/Process(%s)/% Processor Time %s是进程名(进程名为对应的应用程序名称去掉扩展名剩下的部分)

需要监控某个进程的内存使用情况,字符串如下:

/Process(%s)/Working Set %s是进程名

再用PdhCollectQueryData()收集查询信息,

再用PdhGetFormattedCounterValue()将查询值格式化,

最后调用PdhCloseQuery()结束查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值