hi @-Franky-
Ich führe mein Tool auf x64 aus auch auf x32 gehts nicht auf 1920x1080 einzustellen.
Wenn es wirklich ein Unterschied zwischen der API gibt? Warum hab ich nie was gefunden? Finde immer nur die selbe API im netz.
Das sollte die 64Bit variante sein. Führe auch so mein Tool aus als 64Bit.
Trotzdem kann ich 1920x1080 nicht ansteuern. ALLE anderen gehen tadellos die höhere Auflösung kann ich mit richtige Frequenz wie 120 und 144Hz anwenden. Bei der problem Auflösung lässt sich nichts ändern.
Sollte ich mich geirrt haben dann Poste doch bitte die 64Bit variante damit ich den unterschied weis, da ich sonst nichts im netz finde.
Habe es doch versucht soweit wie möglich zu erklären.
Wenn es bei QRes.exe geht weil die API 64bit unterstützt, nicht zu vergessen das proggi wurde 2003 gemacht.
Müsste ja jetzt meine auch gehen allerdings über VB.NET...
hi @Fakiz
Warum? Es funktioniert tadellos es geht mir nur um die Auflösung 1920x1080... geht nicht und das liegt nicht an mein Tool hab auch schon wenn du mal den Code angeschaut hast in der Funktion ChangeResolution den Monitor 0 bzw. wenn ich ein 2 hätte könnte ich auch Monitor 1 anwählen und Auflösung ändern. Bei mir ist aber weil ich nur 1 Monitor nutze der Wert 0 drin.
Windows zeigt über Board mitteln ebenfalls das ich 32Bit Farbtiefe nutze.
Jeder baut sein tool etwas anders auf und nutzt sein Style, die hauptsache es funktioniert am ende ohne probleme.
Der Fehler
Die Meldungen habe ich woanders eingebaut.
Zwar hab ich das so gemacht:
Die oberste Textbox/Label zeigt den Status an und liest sämtliche Informationen aus und wird abgefragt.
Wenn ich zum Beispiel nur die Auflösung ändern will und das ausführen will.
Wird das abegefragt über ein Timer der kurz mal startet und dannach gleich wieder auf pause geht da es ein bisschen dauert bis er die anzeige richtig anzeigt nach Änderung.
Auch fragt meine Meldung ab wenn ich versuche die selben Einstellungen zu übernehmen obwohl es schon vorhanden ist.
Urprünglich hatte ich das so ähnlich wie bei dir. Viele wege führen nach Rom.
Ich weis auch das es so wie du Vorgeschlagen hast auch funktioniert.
Wollte halt was eigenes schreiben.
Trotzdem tut die API immer noch das was sie soll bis auf eine kleine Ausnahme deswegen bin ich ja hier und versuche das problem zu lösen.
Ausserdem würden alle die das selbe problem haben profitieren wenn wir das gelöst kriegen würden.
Zur Veranschaulichung das ich wirklich 32bit Farbtiefe habe auf Windows 10.
Ich führe mein Tool auf x64 aus auch auf x32 gehts nicht auf 1920x1080 einzustellen.
Wenn es wirklich ein Unterschied zwischen der API gibt? Warum hab ich nie was gefunden? Finde immer nur die selbe API im netz.
Das sollte die 64Bit variante sein. Führe auch so mein Tool aus als 64Bit.
Trotzdem kann ich 1920x1080 nicht ansteuern. ALLE anderen gehen tadellos die höhere Auflösung kann ich mit richtige Frequenz wie 120 und 144Hz anwenden. Bei der problem Auflösung lässt sich nichts ändern.
Sollte ich mich geirrt haben dann Poste doch bitte die 64Bit variante damit ich den unterschied weis, da ich sonst nichts im netz finde.
VB.NET-Quellcode
- '32Bit variante wird nicht verwendet sollte nur zum vergleich dienen.
- <Runtime.InteropServices.DllImport("user32.dll", EntryPoint:="EnumDisplaySettingsA")>
- Private Function EnumDisplaySettings(ByVal deviceName As String, ByVal modeNum As Int32, ByRef devMode As DEVMODE) As Int32
- End Function
- <Runtime.InteropServices.DllImport("user32.dll", EntryPoint:="ChangeDisplaySettingsA")>
- Public Function ChangeDisplaySettings(ByRef devMode As DEVMODE, flags As Int32) As Int32
- End Function
- '64Bit variante wird verwendet
- <Runtime.InteropServices.DllImport("user32.dll", EntryPoint:="EnumDisplaySettingsA")>
- Private Function EnumDisplaySettings(ByVal deviceName As String, ByVal modeNum As Int64, ByRef devMode As DEVMODE) As Int64
- End Function
- <Runtime.InteropServices.DllImport("user32.dll", EntryPoint:="ChangeDisplaySettingsA")>
- Public Function ChangeDisplaySettings(ByRef devMode As DEVMODE, flags As Int64) As Int64
- End Function
Habe es doch versucht soweit wie möglich zu erklären.
Wenn es bei QRes.exe geht weil die API 64bit unterstützt, nicht zu vergessen das proggi wurde 2003 gemacht.
Müsste ja jetzt meine auch gehen allerdings über VB.NET...
hi @Fakiz
Warum? Es funktioniert tadellos es geht mir nur um die Auflösung 1920x1080... geht nicht und das liegt nicht an mein Tool hab auch schon wenn du mal den Code angeschaut hast in der Funktion ChangeResolution den Monitor 0 bzw. wenn ich ein 2 hätte könnte ich auch Monitor 1 anwählen und Auflösung ändern. Bei mir ist aber weil ich nur 1 Monitor nutze der Wert 0 drin.
Windows zeigt über Board mitteln ebenfalls das ich 32Bit Farbtiefe nutze.
Jeder baut sein tool etwas anders auf und nutzt sein Style, die hauptsache es funktioniert am ende ohne probleme.
Der Fehler
Die Meldungen habe ich woanders eingebaut.
Zwar hab ich das so gemacht:
Die oberste Textbox/Label zeigt den Status an und liest sämtliche Informationen aus und wird abgefragt.
Wenn ich zum Beispiel nur die Auflösung ändern will und das ausführen will.
Wird das abegefragt über ein Timer der kurz mal startet und dannach gleich wieder auf pause geht da es ein bisschen dauert bis er die anzeige richtig anzeigt nach Änderung.
Auch fragt meine Meldung ab wenn ich versuche die selben Einstellungen zu übernehmen obwohl es schon vorhanden ist.
Urprünglich hatte ich das so ähnlich wie bei dir. Viele wege führen nach Rom.
Ich weis auch das es so wie du Vorgeschlagen hast auch funktioniert.
Wollte halt was eigenes schreiben.
Trotzdem tut die API immer noch das was sie soll bis auf eine kleine Ausnahme deswegen bin ich ja hier und versuche das problem zu lösen.
Ausserdem würden alle die das selbe problem haben profitieren wenn wir das gelöst kriegen würden.
Zur Veranschaulichung das ich wirklich 32bit Farbtiefe habe auf Windows 10.
Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Xiantrius“ ()