Board logo

标题: [问题求助] [已解决]请教几个关于WMI的问题! [打印本页]

作者: 437153    时间: 2015-7-30 16:49     标题: [已解决]请教几个关于WMI的问题!

1、如上图中,我想提取【bytesrec...】下面数值最大的那一行应该怎么写?

2、如何显示【caption】中所有的字段?
3、哪里有较新的WMI教程啊?在网上找了一些,都不是很全,而且都是比较久的。

麻烦各位老大了!谢谢!
作者: pcl_test    时间: 2015-7-30 17:34

本帖最后由 pcl_test 于 2015-7-30 17:44 编辑

1、不知道具体类名,使用遍历排序输出最大值
2、
  1. strComputer = "."
  2. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  3. Set Disks = objWMIService.ExecQuery("Select * From Win32_DiskDrive")
  4. For Each Item In Disks
  5.     s = s & Item.Caption & vbCrLf
  6. Next
  7. Msgbox Trim(s)
复制代码

作者: 437153    时间: 2015-7-31 09:26

本帖最后由 437153 于 2015-7-31 09:29 编辑

回复 2# pcl_test

感谢老大帮忙!

    1、类名是:Win32_PerfRawData_Tcpip_NetworkInterface
   
    2、如果我想把内容赋值到变量应该怎么写?
作用是统计网卡的流量。
作者: pcl_test    时间: 2015-7-31 09:42

回复 3# 437153
1、
  1. strComputer = "."
  2. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  3. Set Items = objWMIService.ExecQuery("Select * from Win32_PerfRawData_Tcpip_NetworkInterface")
  4. max = 0
  5. For Each Item In Items
  6. If CLng(Item.BytesReceivedPerSec) >= max Then
  7.     max = CLng(Item.BytesReceivedPerSec)
  8. End If
  9. Next
  10. Msgbox max
复制代码
2、s不是变量?要先补下基础知识呀
作者: 437153    时间: 2015-7-31 09:59

回复 4# pcl_test


    额,确实是才开始学习。
    终于的是我描述问题貌似也有问题
我想说的是:Caption 字段下面有多个值,我想赋值到各自的变量中去。
比如:
S1=GLOWAY.....
S2=TOSHIBA....

不好意思哈,劳烦你这么多次!
作者: pcl_test    时间: 2015-7-31 10:14

回复 5# 437153
  1. strComputer = "."
  2. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  3. Set Disks = objWMIService.ExecQuery("Select * From Win32_DiskDrive")
  4. Dim arr()
  5. i = 0
  6. For Each Item In Disks
  7.     ReDim Preserve arr(i)
  8.     arr(i) = Item.Caption
  9.     i = i + 1
  10. Next
  11. For j = 0 To UBound(arr)
  12.     Msgbox arr(j)
  13. Next
复制代码

作者: 437153    时间: 2015-7-31 10:30

回复 6# pcl_test


    感谢您的帮助!学到了!




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2