Art des Speichers auslesen

  • Hallo,

    ich schreibe mir gerade ein Programm mit dem ich verschiedene Daten eines Rechners automatisch auslesen kann, um sie dann zu speichern. Gibt es eine Möglichkeit irgendwie den Speichertyp auszulesen ? Sprich ob es DDR,DDR2 oder DDR3 Ram ist ?


    mfg
    sharkthorn

  • Es geht. Aber frag mich nicht wie. Ich hatte mal ein Prog auf meinem Rechner, das so was konnte. Aus diesem könnte man die Infos dann auslesen. Dummerweise weiß ich den Namen aber nicht mehr.

    • Offizieller Beitrag

    Hi,

    hilft das?

    Spoiler anzeigen
    [autoit]

    #include<Array.au3>
    Local $re
    _ComputerGetMemory($re)
    _ArrayDisplay($re)

    [/autoit] [autoit][/autoit] [autoit]

    Func _ComputerGetMemory(ByRef $aMemoryInfo)
    Local $colItems, $objWMIService, $objItem
    Dim $aMemoryInfo[1][28], $i = 1

    [/autoit] [autoit][/autoit] [autoit]

    $objWMIService = ObjGet("winmgmts:\\" & $cI_Compname & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMemory", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

    [/autoit] [autoit][/autoit] [autoit]

    If IsObj($colItems) Then
    For $objItem In $colItems
    ReDim $aMemoryInfo[UBound($aMemoryInfo) + 1][28]
    $aMemoryInfo[$i][0] = $objItem.Name
    $aMemoryInfo[$i][1] = $objItem.BankLabel
    $aMemoryInfo[$i][2] = $objItem.Capacity
    $aMemoryInfo[$i][3] = $objItem.CreationClassName
    $aMemoryInfo[$i][4] = $objItem.Description
    $aMemoryInfo[$i][5] = $objItem.DataWidth
    $aMemoryInfo[$i][6] = $objItem.DeviceLocator
    $aMemoryInfo[$i][7] = $objItem.FormFactor
    $aMemoryInfo[$i][8] = $objItem.HotSwappable
    $aMemoryInfo[$i][9] = $objItem.InterleaveDataDepth
    $aMemoryInfo[$i][10] = $objItem.InterleavePosition
    $aMemoryInfo[$i][11] = $objItem.Manufacturer
    $aMemoryInfo[$i][12] = $objItem.MemoryType
    $aMemoryInfo[$i][13] = $objItem.Model
    $aMemoryInfo[$i][14] = $objItem.OtherIdentifyingInfo
    $aMemoryInfo[$i][15] = $objItem.PartNumber
    $aMemoryInfo[$i][16] = $objItem.PositionInRow
    $aMemoryInfo[$i][17] = $objItem.PoweredOn
    $aMemoryInfo[$i][18] = $objItem.Removable
    $aMemoryInfo[$i][19] = $objItem.Replaceable
    $aMemoryInfo[$i][20] = $objItem.SerialNumber
    $aMemoryInfo[$i][21] = $objItem.SKU
    $aMemoryInfo[$i][22] = $objItem.Speed
    $aMemoryInfo[$i][23] = $objItem.Status
    $aMemoryInfo[$i][24] = $objItem.Tag
    $aMemoryInfo[$i][25] = $objItem.TotalWidth
    $aMemoryInfo[$i][26] = $objItem.TypeDetail
    $aMemoryInfo[$i][27] = $objItem.Version
    $i += 1
    Next
    $aMemoryInfo[0][0] = UBound($aMemoryInfo) - 1
    If $aMemoryInfo[0][0] < 1 Then
    SetError(1, 1, 0)
    EndIf
    Else
    SetError(1, 2, 0)
    EndIf
    EndFunc ;_ComputerGetMemory

    [/autoit]

    Mega