2008-12-04 29 views

回答

7

原來,這是適配器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); 
    } 
} 
3

從'硬件'下的The Microsoft Technet Script Center Script Repository然後'視頻和顯示器',然後'列出視頻控制器屬性'。

我猜想你可能要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 
0

我們已經走下AdapterRAM屬性的路徑之間制定出一些東西,但是,這只是給我們的系統內存,其中有與Video Ram無關。有沒有另一種獲得視頻內存的方式?

+1

不少集成的芯片組使用系統內存作爲顯存;你是否在具有真實圖形卡或集成顯卡的系統上運行測試? – 2008-12-04 17:12:05

+0

我也這麼認爲...我們也測試這個代碼也在一個集成顯卡的MacBook Pro。仍然是相同的行爲 – 2008-12-04 18:55:42

1
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(); 
        }