2011-11-13 35 views
1

我嘗試使用WMI,但目前爲止沒有成功。使用realbasic獲取Windows上CPU的數量

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

無論我試圖做下一個trigers一個OLE異常。有沒有其他已知的從REALbasic中編程式獲取CPU數量的方法。我知道我可以從shell類執行一個vbscript,但對我來說有點太難看了。

回答

2

您可以撥打GetSystemInfo函數並使用dwNumberOfProcessorsSYSTEM_INFO structure的成員。

看一看以下示例代碼:

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個字節。

+1

哇,忘了這個功能。非常感謝! :) – Miha