public static DisplaySettings?GetCurrentDisplaySettingsForDisplayAdapter(String displayAdapterName) { var displayAdapterNameAsCharArray = ConvertStringToNullTerminatedCharArray(displayAdapterName); var success = true; var devmode = new WindowsApi.DEVMODEW(); devmode.Init(); success = WindowsApi.EnumDisplaySettingsEx(displayAdapterNameAsCharArray, WindowsApi.ENUM_CURRENT_SETTINGS, ref devmode, 0); if (success == false) { return(null); } var displaySettings = DisplaySettings.CreateNew(devmode); if (displaySettings == null) { return(null); } return(displaySettings); }
public static List <DisplaySettings> GetAllDisplaySettingsForDisplayAdapter(String displayAdapterName) { var result = new List <DisplaySettings>(); var displayAdapterNameAsCharArray = ConvertStringToNullTerminatedCharArray(displayAdapterName); // get the display settings for each graphics mode of this display adapter UInt32 iGraphicsMode = 0; var success = true; while (success == true) { var devmode = new WindowsApi.DEVMODEW(); devmode.Init(); success = WindowsApi.EnumDisplaySettingsEx(displayAdapterNameAsCharArray, iGraphicsMode, ref devmode, 0); if (success == false) { break; } var displaySettings = DisplaySettings.CreateNew(devmode); if (displaySettings == null) { iGraphicsMode += 1; continue; } result.Add(displaySettings.Value); iGraphicsMode += 1; } return(result); }