كيف يمكنني العثور على كمية RAM الفيديو المثبتة من خلال مكالمة WMI؟
-
19-08-2019 - |
سؤال
هل يعرف أي شخص كيفية الحصول على مقطع فيديو للكمبيوتر الشخصي من مكالمة WMI؟
لقد رأيت مكالمات إلى خاصية AdapterRam الخاصة بكائن Management Win32_VideOconTroller ، ولكن هذا يعطي فقط ذاكرة النظام ، ولا يمثل ذاكرة الوصول العشوائي على الإطلاق.
المحلول
تبين أنه كان المحول الذي تم إرجاعه ، ومن خلال صدفة مؤسف ، تم استخدام التحويل الخاطئ وأعطى النظام ذاكرة الوصول العشوائي ... على نظامين مختلفين. شكرا لدفعنا للنظر مرة أخرى.
لما يستحق ، في تطبيق C# winforms:
int _ram = 0;
ManagementObjectSearcher searcher = new ManagementObjectSearcher("select AdapterRAM from Win32_VideoController");
foreach (ManagementObject mo in searcher.Get())
{
var ram = mo.Properties["AdapterRAM"].Value as UInt32?;
if (ram.HasValue)
{
_ram = ((int)ram/1048576);
}
}
نصائح أخرى
من مستودع البرنامج النصي لـ Microsoft Technet Script Center ضمن "الأجهزة" ثم "الفيديو والعرض" ثم "قائمة خصائص وحدة تحكم الفيديو".
أتصور أنه قد تضطر إلى تحديد شيء ما بين Adapterram و "videomimoryype"
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_VideoController")
For Each objItem in colItems
For Each strCapability in objItem.AcceleratorCapabilities
Wscript.Echo "Accelerator Capability: " & strCapability
Next
Wscript.Echo "Adapter Compatibility: " & objItem.AdapterCompatibility
Wscript.Echo "Adapter DAC Type: " & objItem.AdapterDACType
Wscript.Echo "Adapter RAM: " & objItem.AdapterRAM
Wscript.Echo "Availability: " & objItem.Availability
Wscript.Echo "Color Table Entries: " & objItem.ColorTableEntries
Wscript.Echo "Current Bits Per Pixel: " & objItem.CurrentBitsPerPixel
Wscript.Echo "Current Horizontal Resolution: " & _
objItem.CurrentHorizontalResolution
Wscript.Echo "Current Number of Colors: " & objItem.CurrentNumberOfColors
Wscript.Echo "Current Number of Columns: " & objItem.CurrentNumberOfColumns
Wscript.Echo "Current Number of Rows: " & objItem.CurrentNumberOfRows
Wscript.Echo "Current Refresh Rate: " & objItem.CurrentRefreshRate
Wscript.Echo "Current Scan Mode: " & objItem.CurrentScanMode
Wscript.Echo "Current Vertical Resolution: " & _
objItem.CurrentVerticalResolution
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "Device ID: " & objItem.DeviceID
Wscript.Echo "Device Specific Pens: " & objItem.DeviceSpecificPens
Wscript.Echo "Dither Type: " & objItem.DitherType
Wscript.Echo "Driver Date: " & objItem.DriverDate
Wscript.Echo "Driver Version: " & objItem.DriverVersion
Wscript.Echo "ICM Intent: " & objItem.ICMIntent
Wscript.Echo "ICM Method: " & objItem.ICMMethod
Wscript.Echo "INF Filename: " & objItem.InfFilename
Wscript.Echo "INF Section: " & objItem.InfSection
Wscript.Echo "Installed Display Drivers: " & _
objItem.InstalledDisplayDrivers
Wscript.Echo "Maximum Memory Supported: " & objItem.MaxMemorySupported
Wscript.Echo "Maximum Number Controlled: " & objItem.MaxNumberControlled
Wscript.Echo "Maximum Refresh Rate: " & objItem.MaxRefreshRate
Wscript.Echo "Minimum Refresh Rate: " & objItem.MinRefreshRate
Wscript.Echo "Monochrome: " & objItem.Monochrome
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "Number of Color Planes: " & objItem.NumberOfColorPlanes
Wscript.Echo "Number of Video Pages: " & objItem.NumberOfVideoPages
Wscript.Echo "PNP Device ID: " & objItem.PNPDeviceID
Wscript.Echo "Reserved System Palette Entries: " & _
objItem.ReservedSystemPaletteEntries
Wscript.Echo "Specification Version: " & objItem.SpecificationVersion
Wscript.Echo "System Palette Entries: " & objItem.SystemPaletteEntries
Wscript.Echo "Video Architecture: " & objItem.VideoArchitecture
Wscript.Echo "Video Memory Type: " & objItem.VideoMemoryType
Wscript.Echo "Video Mode: " & objItem.VideoMode
Wscript.Echo "Video Mode Description: " & objItem.VideoModeDescription
Wscript.Echo "Video Processor: " & objItem.VideoProcessor
Next
ManagementObjectSearcher searcher = new ManagementObjectSearcher("select AdapterRAM from
Win32_VideoController");
foreach (ManagementObject mo in searcher.Get())
{
double MemorySize = Convert.ToDouble(mo.Properties["AdapterRAM"].Value) / 1048576;
return MemorySize.ToString();
}
لقد ذهبنا بالفعل إلى مسار خاصية AdapterRam ، لكن ذلك كان يمنحنا فقط ذاكرة النظام ، والتي لا علاقة لها بذاكرة الفيديو. هل هناك طريقة أخرى للحصول على ذاكرة الوصول العشوائي بالفيديو؟