public static void SetDisplayMode(string deviceName, DisplayMode displayMode) { DevMode devMode = new DevMode(); devMode.dmSize = (short)Marshal.SizeOf(devMode); devMode.dmBitsPerPel = displayMode.BitsPerPixels; devMode.dmPelsWidth = displayMode.Width; devMode.dmPelsHeight = displayMode.Height; devMode.dmDisplayFrequency = displayMode.Frequency; devMode.dmFields = DM.BitsPerPixel | DM.DisplayFrequency | DM.PelsHeight | DM.PelsWidth; DisplayChange result = User32.ChangeDisplaySettingsEx(deviceName, ref devMode, IntPtr.Zero, ChangeDisplaySettingsFlags.FullScreen, IntPtr.Zero); }
public void RunFor(int rotation, uint deviceId) { //uint deviceId = 1; // zero origin (i.e. 1 means DISPLAY2) var displayDevice = new DisplayDevice(); var devMode = new Devmode(); displayDevice.cb = Marshal.SizeOf(displayDevice); NativeMethods.EnumDisplayDevices(null, deviceId, ref displayDevice, 0); if (0 != NativeMethods.EnumDisplaySettings( displayDevice.DeviceName, NativeMethods.EnumCurrentSettings, ref devMode)) { int temp = devMode.dmPelsHeight; devMode.dmPelsHeight = devMode.dmPelsWidth; devMode.dmPelsWidth = temp; } devMode.dmDisplayOrientation = rotation; DisplayChange iRet = NativeMethods.ChangeDisplaySettingsEx( displayDevice.DeviceName, ref devMode, IntPtr.Zero, DisplaySettingsFlags.CdsUpdateregistry, IntPtr.Zero); }
static void Main(string[] args) { DisplayRed changeToRed = new DisplayRed(DisplayRedConsole); changeToRed(); DisplayRedString changeToRedString = new DisplayRedString(DisplayRedConsole); changeToRedString("RED"); DisplayChange <string> changeToMagenta = new DisplayChange <string>(DisplayMagentaConsole <string>); DisplayChangeInt <int> changeToBlueInt = new DisplayChangeInt <int>(DisplayBlueConsole); changeToMagenta += new DisplayChange <string>(DisplayMagentaConsole); //changeToBlueInt += new DisplayChangeInt<int>(DisplayBlueConsole); Action <string> changeToBlue = DisplayBlueConsole; changeToBlue("I am a blue string!"); changeToMagenta("I am a magenta string!"); changeToBlueInt(1337); }
public static void ResetDisplayMode(string deviceName) { DisplayChange result = User32.ChangeDisplaySettingsEx(deviceName, IntPtr.Zero, IntPtr.Zero, ChangeDisplaySettingsFlags.None, IntPtr.Zero); }
public static void ResetDisplayMode() { DisplayChange result = User32.ChangeDisplaySettings(IntPtr.Zero, ChangeDisplaySettingsFlags.None); }