Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Win32_处理器和Win32_NetworkAdapterConfiguration WMI方法在Windows 8中可用吗?_C#_Winapi_Wmi_Windows 8_Visual Studio 2012 - Fatal编程技术网

C# Win32_处理器和Win32_NetworkAdapterConfiguration WMI方法在Windows 8中可用吗?

C# Win32_处理器和Win32_NetworkAdapterConfiguration WMI方法在Windows 8中可用吗?,c#,winapi,wmi,windows-8,visual-studio-2012,C#,Winapi,Wmi,Windows 8,Visual Studio 2012,我正在Windows8消费者预览版中测试一个现有应用程序,它在启动时崩溃。日志文件表明它是在我对CPU ID和网卡详细信息进行验证的方法中 为此,我打电话来 ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in mo

我正在Windows8消费者预览版中测试一个现有应用程序,它在启动时崩溃。日志文件表明它是在我对CPU ID和网卡详细信息进行验证的方法中

为此,我打电话来

        ManagementClass mc = new ManagementClass("Win32_Processor");
        ManagementObjectCollection moc = mc.GetInstances();
        foreach (ManagementObject mo in moc)
        {
            if (cpuInfo.Length == 0)
            {
                // only return cpuInfo from first CPU
                cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
            }
        }
(请注意,此应用程序在Windows 7及更早版本上运行良好)

然后,我使用相同的语法连接到Win32_NetworkAdapterConfiguration并获取IPEnabled、IPAddress[]和MACAddress属性

但在这里的某个地方,它正在崩溃

我已经试着研究过了,发现下面的和我正在使用的都不在上面。然而,同一个站点也有一个列表,而这些也不在其中!(即使它在Windows 7上工作也没有问题)

因此,从这个角度来看,它是不受支持的

ManagementClass的MSDN指示该方法。此外,还明确列出了Win32_处理器和Win32_网络适配器配置,以及我需要的方法

所以,从这些链接中,你可以看到我试图研究这个,所以这是我试图解开这个谜团的最后一站

我的应用程序最初是Visual Studio 2005中创建的.NET 2.0解决方案。我已将Visual Studio 2011 Beta安装到我的Windows 8消费者预览虚拟机中,以及最新的SQL 2012 Express。我已经尝试将我的项目导入到这个VisualStudio中,但它没有加载它,告诉我它只支持Metro开发。因此,我无法在机器本身上调试此问题


所以我的问题是Windows8中是否存在这些类?如果他们这样做了,那么我做错了什么?如果他们没有,那么我需要找到一种方法来获取这些信息——但我想这是一个单独的问题;-)

我可以在Windows 8开发者预览中确认哪两个WMI类(Win32_Processor和Win32_NetworkAdapterConfiguration)存在并在其下工作

FYI您的refear具有标题的列表,这意味着
WMI类具有方法。


用于检查此问题的工具已得到回答,但不幸的是,仅在我的原始帖子Alex K的评论中。使用此工具,我能够识别这些方法确实存在,因此我认为这是一个编码问题,因为我的代码与该工具生成的代码略有不同。

WMI方法在Windows 8中可用,但已在Windows 8.1中删除,因此,您也可以使用此代码分析Windows 8.1和Windows Phone 8上的各种网络指标:


我不敢相信他们会移除它们,这是一种快速的测试方法;下载WMICC并使用其GUI查看它们是否已列出/您的期望旁注:Visual Studio 2011?甚至在测试版中都没有。目前有一个版本11测试版,但没有最终的产品名称已经宣布。很有可能被命名为2012。嗨,谢谢,我使用了WMICC,它确实在那里!我认为这可能有所帮助,因为它检索到的处理器ID是空的。也许是因为我在虚拟机中运行?关于VS 2011/11命名,我很抱歉-无论您在www.microsoft.com/express上看到什么,都是针对Windows 8;-)