使用realbasic获取Windows上的cpu数量



我试过使用WMI,但是到目前为止还没有成功。

Dim objLocator As New OLEObject("WbemScripting.SWbemLocator")
Dim objService As OLEObject
objService = objLocator.ConnectServer(".", "rootcimv2")
Dim instances As OLEObject
instances = objService.InstancesOf("Win32_ComputerSystem")

无论我接下来尝试做什么都会触发OLE异常。是否有其他已知的方法从REALbasic编程获取CPU计数。我知道我可以从shell类执行一个vbscript,但是它对我来说有点太丑了。

可以调用GetSystemInfo函数并使用SYSTEM_INFO结构体的dwNumberOfProcessors成员。

看一下下面的示例代码:

  Declare Sub GetSystemInfo Lib "kernel32" Alias "GetSystemInfo" (lpSystemInfo As Ptr)
  Dim SystemInfo as MemoryBlock=new MemoryBlock(36)
  GetSystemInfo(SystemInfo)
  Dim ProcessorCount as Integer=SystemInfo.Long(20)

SYSTEM_INFO结构体的大小为36字节。dwNumberOfProcessors之前的成员的大小为20字节

相关内容

  • 没有找到相关文章

最新更新