有谁知道如何从 WMI 调用中获取 PC 的 Video Ram?
我见过对 Win32_VideoController 管理对象的 AdapterRAM 属性的调用,但这仅提供系统内存,根本不代表视频 RAM。
有谁知道如何从 WMI 调用中获取 PC 的 Video Ram?
我见过对 Win32_VideoController 管理对象的 AdapterRAM 属性的调用,但这仅提供系统内存,根本不代表视频 RAM。
原来是适配器 RAM 返回,并且由于不幸的巧合,使用了错误的转换并给了系统 RAM ......在两个不同的系统上。感谢您推动我们再次查看。
对于它的价值,在 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 脚本中心脚本存储库,然后“视频和显示”,然后“列出视频控制器属性”。
我想你可能需要在 AdapterRAM 和 'VideoMemoryType' 之间解决一些问题
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 属性的路径,但这只是给了我们系统内存,与 Video Ram 无关。还有其他获取视频内存的方法吗?