2

WMI を使用してみましたが、今のところ成功していません。

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")

次に何をしようとしても、OLE 例外がトリガーされます。REALbasic からプログラムで CPU カウントを取得する既知の方法は他にありますか? シェル クラスから vbscript を実行できることはわかっていますが、私には少し見苦しすぎます。

4

1 に答える 1

3

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 バイトです。

于 2011-11-13T15:09:59.420 に答える