我正在尝试运行此功能,显示%CPU使用率(不是应用程序,全局)
Private Function USO_CPU() As Integer
Dim obj_WMI As Object, obj_INFO_CPU As Object, Porcentaje As Integer
obj_WMI = GetObject("winmgmts:").InstancesOf("Win32_Processor")
For Each obj_INFO_CPU In obj_WMI
If obj_WMI.Count > 1 Then
Porcentaje = Porcentaje + obj_INFO_CPU.LoadPercentage
Else
Porcentaje = obj_INFO_CPU.LoadPercentage
End If
Next
If obj_WMI.Count > 1 Then
Porcentaje = Porcentaje \ obj_WMI.Count
obj_WMI = Nothing
obj_INFO_CPU = Nothing
End If
USO_CPU = Porcentaje
Exit Function
End Function
但我明白了:
未找到异常'System.InvalidCastException'en Microsoft.VisualBasic.dll
信息:将“DBNull”转换为“整数”无效
我知道错误是由变量类型引起的,但我试图将“Porcentaje”设置为String,Integer等,错误仍然存在。
我该如何解决这个问题?
答案 0 :(得分:0)
您的查询返回了一些您需要转换为数据类型的空数据
phi = numpy.arctan2(abs(y), abs(x))
----更新-----
Dim loadPerc = If(Convert.IsDBNull(obj_INFO_CPU.LoadPercentage), 0, Convert.ToInt32(obj_INFO_CPU.LoadPercentage))