WMI类的vb6参考

WMI类的vb6参考,vb6,wmi,Vb6,Wmi,我试图在我的VB6程序中使用WMI,但在第一次调用GetObject时出现一般错误 Dim ProcessorSet As Object Dim CPU As Object Dim GetOsBitness As String Set ProcessorSet = GetObject("Winmgmts:"). _ ExecQuery("SELECT * FROM Win32_Processor") For Each CPU In ProcessorSet GetOsBitne

我试图在我的
VB6
程序中使用
WMI
,但在第一次调用
GetObject
时出现一般错误

Dim ProcessorSet As Object
Dim CPU As Object
Dim GetOsBitness As String

Set ProcessorSet = GetObject("Winmgmts:"). _
    ExecQuery("SELECT * FROM Win32_Processor")
For Each CPU In ProcessorSet
    GetOsBitness = CStr(CPU.AddressWidth)
Next
WMI类需要什么引用

这就是问题所在吗


WMI
服务正在我的机器上运行。

我想这可能是您的问题


尝试添加对“WMI脚本库”的引用(wbemdisp.tlb)。根据您的操作系统,如果它没有立即出现在您可以添加到项目的引用中(名称可能包含WBEM或类似内容),您可能需要在windows\system32\WBEM文件夹中找到它,并引用它。

谢谢。我引用了wbemdisp.tlb和wbemcntl.dll,但仍不工作。VBS脚本中的同一WMI是否正确?它可能与操作系统有关,您在哪个操作系统上运行它?是的,我确实制作了一个VBS脚本并从命令窗口运行它。我正在运行Win 7 Pro 64位。如果尚未从Syswow64\wbem文件夹中引用wbemdisp.tlb,请尝试。好的,请尝试。没有变化。与此同时,我得到了一些与API调用相关的东西。但随后遇到了从32位应用程序检测64位进程的问题。不能根据这里的几个线程来做。这就是我真正想做的,获取一个正在运行的可执行文件(不是我的)的路径,它告诉我某人正在运行的程序的版本。该程序有32位和64位版本。