Bildschirmauflösung ändern
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Dodo.
-
-
Das ist hier auf CodeProject gut erklärt.
-
-
-
-
-
-
Hier hast dus. Du brauchst nur die ChangeDisplayResolution-Methode aufzurufen:
Spoiler anzeigen
VB.NET-Quellcode
- Public Class Form1
- <DllImport("user32.dll")>
- Public Shared Function EnumDisplaySettings(deviceName As String, modeNum As Integer, ByRef devMode As DEVMODE) As Integer
- End Function
- <DllImport("user32.dll")>
- Public Shared Function ChangeDisplaySettings(ByRef devMode As DEVMODE, flags As Integer) As Integer
- End Function
- Public Const ENUM_CURRENT_SETTINGS = -1
- Public Const CDS_UPDATEREGISTRY = &H1
- Public Sub ChangeDisplayResolution(width As Integer, height As Integer)
- Dim dm As DEVMODE
- dm.dmDeviceName = New String(New Char(31) {})
- dm.dmFormName = New String(New Char(31) {})
- dm.dmSize = Convert.ToInt16(Marshal.SizeOf(dm))
- EnumDisplaySettings(Nothing, ENUM_CURRENT_SETTINGS, dm)
- dm.dmPelsWidth = width
- dm.dmPelsHeight = height
- ChangeDisplaySettings(dm, CDS_UPDATEREGISTRY)
- End Sub
- End Class
- <StructLayout(LayoutKind.Sequential)> _
- Public Structure DEVMODE
- Public Const CCHDEVICENAME As Integer = 32
- Public Const CCHFORMNAME As Integer = 32
- <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=CCHDEVICENAME)> _
- Public dmDeviceName As String
- Public dmSpecVersion As Short
- Public dmDriverVersion As Short
- Public dmSize As Short
- Public dmDriverExtra As Short
- Public dmFields As DM
- Public dmOrientation As Short
- Public dmPaperSize As Short
- Public dmPaperLength As Short
- Public dmPaperWidth As Short
- Public dmScale As Short
- Public dmCopies As Short
- Public dmDefaultSource As Short
- Public dmPrintQuality As Short
- Public dmColor As Short
- Public dmDuplex As Short
- Public dmYResolution As Short
- Public dmTTOption As Short
- Public dmCollate As Short
- <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=CCHFORMNAME)> _
- Public dmFormName As String
- Public dmLogPixels As Short
- Public dmBitsPerPel As Integer
- Public dmPelsWidth As Integer
- Public dmPelsHeight As Integer
- Public dmDisplayFlags As Integer
- Public dmDisplayFrequency As Integer
- Public dmICMMethod As Integer
- Public dmICMIntent As Integer
- Public dmMediaType As Integer
- Public dmDitherType As Integer
- Public dmReserved1 As Integer
- Public dmReserved2 As Integer
- Public dmPanningWidth As Integer
- Public dmPanningHeight As Integer
- Public dmPositionX As Integer
- Public dmPositionY As Integer
- End Structure
- <Flags()> _
- Enum DM As Integer
- Orientation = &H1
- PaperSize = &H2
- PaperLength = &H4
- PaperWidth = &H8
- Scale = &H10
- Position = &H20
- NUP = &H40
- DisplayOrientation = &H80
- Copies = &H100
- DefaultSource = &H200
- PrintQuality = &H400
- Color = &H800
- Duplex = &H1000
- YResolution = &H2000
- TTOption = &H4000
- Collate = &H8000
- FormName = &H10000
- LogPixels = &H20000
- BitsPerPixel = &H40000
- PelsWidth = &H80000
- PelsHeight = &H100000
- DisplayFlags = &H200000
- DisplayFrequency = &H400000
- ICMMethod = &H800000
- ICMIntent = &H1000000
- MediaType = &H2000000
- DitherType = &H4000000
- PanningWidth = &H8000000
- PanningHeight = &H10000000
- DisplayFixedOutput = &H20000000
- End Enum
Ich übernehme keine Gewähr dafür, dass das funktioniert, ich hab den Code selber nur kopiert. -
-
-
VisualBasicer schrieb:
Ich glaub ich weiß jetzt was ich machen muss.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Irgendwie hört sich das so an als ob die Windows Einstellung die Auflösung nicht anbietet und deswegen möchte er ein Prog schreiben welches sie umstellt. Fakt is aber wenn die Auflösung nicht utnerstützt wird, kannst sie auch nicht ändern, z.B. bei falschen Grafikkartentreiber oder so. In den Windowseinstellungen ließt Windows die verfügbaren Auflösungen aus und bietet sie dir als Slider oder Auswahl an.
-
6 Benutzer haben hier geschrieben
- VisualBasicer (4)
- Artentus (3)
- Manawyrm (2)
- RodFromGermany (1)
- Gather (1)
- Gast (1)