【问题标题】:How to get RAM speed in windows 8 and above如何在 Windows 8 及更高版本中获得 RAM 速度
【发布时间】:2016-10-20 02:03:20
【问题描述】:

我目前在带有管理对象的 Windows 8.1 中使用 WMI:

Dim Mos = New ManagementObjectSearcher("SELECT speed FROM Win32_PhysicalMemory")
Dim _Speed
For Each objMgmt In Mos.Get
    _Speed = objMgmt("speed")
Next

但它什么也没显示。由于DDR3内存在不同的速度。我想知道我的电脑或笔记本电脑的内存是不是

DDR3 1033 
DDR3 1333 
DDR3 1600 
DDR3 1800

是否有任何其他代码可以在 Windows 8 及更高版本中获得 ram 的速度?

【问题讨论】:

    标签: c# .net vb.net performance hardware


    【解决方案1】:

    是的,还有另一种方法可以使用相同的 WMI,但这是一种不同的方法,适用于我的两台计算机 windows 8 和 windows 10

    1.记得如下图放置Imports System.Management,否则代码将无法运行。 2.请在form1中创建一个名为textbox1textbox

    Imports System.Management 
    
    Public Class Form1
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
            Dim proc_query As String = "SELECT * FROM Win32_PhysicalMemory"
            Dim proc_searcher As New ManagementObjectSearcher(proc_query)
            For Each info As ManagementObject In proc_searcher.Get()
                textbox1.Text = "Speed of Your RAM is  " & info.Properties("Speed").Value.ToString()
            Next info
    
    
        End Sub
    End Class
    

    如果这是一个解决方案,请选择此答案作为已接受:),如果您仍然无法使其正常工作,我会尽力提供帮助,请在下方评论:)

    【讨论】:

    • 我已经这样做了。但它没有奏效。速度为 Null 或空白。您是否尝试过 Windows 8.1 中的代码?
    【解决方案2】:

    我会使用 WMI。

    On Error Resume Next 
    strComputer = "." 
    Set objWMIService = GetObject("winmgmts:" & "            {impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    Set colItems = objWMIService.ExecQuery("Select * from     Win32_PhysicalMemory") 
    For Each objItem in colItems 
    
    Wscript.Echo "Bank Label: " & objItem.BankLabel 
    Wscript.Echo "Capacity: " & objItem.Capacity 
    Wscript.Echo "Data Width: " & objItem.DataWidth 
    Wscript.Echo "Description: " & objItem.Description 
    Wscript.Echo "Device Locator: " & objItem.DeviceLocator 
    Wscript.Echo "Form Factor: " & objItem.FormFactor 
    Wscript.Echo "Hot Swappable: " & objItem.HotSwappable 
    Wscript.Echo "Manufacturer: " & objItem.Manufacturer 
    Wscript.Echo "Memory Type: " & objItem.MemoryType 
    Wscript.Echo "Name: " & objItem.Name 
    Wscript.Echo "Part Number: " & objItem.PartNumber 
    Wscript.Echo "Position In Row: " & objItem.PositionInRow 
    Wscript.Echo "Speed: " & objItem.Speed 
    Wscript.Echo "Tag: " & objItem.Tag 
    Wscript.Echo "Type Detail: " & objItem.TypeDetail 
    
    Next 
    

    (基于how to get the Ram Speed?

    【讨论】:

    • 不,它不起作用。在速度中显示空白。自己试试。我在 windows8 和 windows 8.1 中试过
    • 我也尝试以管理员身份运行,但它只显示空白速度。
    • @ErMayank 那么,这是你的问题。为我工作。
    • @ErMayank 另外,请包含更多代码。问题可能与您包含的行无关。
    • OP 不要求脚本。这显然不是vb.net,并且发布除 OP 工作之外的解决方案是不相关的。您还说要使用 WMI,OP 已经在使用 WMI。您的帖子显然没有解决问题。它应该一起删除,因为它缺乏细节。也许在抛出代码之前发表评论就足够了,这将是一个明智的选择?也复制另一个答案并发布它是正确的,您可以发表评论并推荐链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多