Ich erstelle an application, die a game mehrmals ausgeführt wird, um geteilten Bildschirm mit Ihren Freunden zu spielen. Wenn Sie den neuen, noch zu veröffentlichenden Konsolenmodus in meiner Anwendung verwenden, müssen Sie zunächst manuell zwei benutzerdefinierte Auflösungen in der Systemsteuerung festlegen. Kennt jemand einen Weg, wie ich diese Auflösungen vor dem Start der Spielinstanzen über C# -Code einstellen könnte?Wie würde man eine benutzerdefinierte Windows-Systemsteuerung Auflösung in C#?
Antwort
Um die Auflösung einzustellen, müssen Sie P/Invoke verwenden. Es gibt ein Beispiel aus der MSDN-Bibliothek here (blättern Sie zu Aufgabe 2). Ein anderes Beispiel kann here gefunden werden, das den gleichen Ansatz verwendet.
Während ich sehen kann, wie das hilfreich sein könnte, ist es leider nicht das, wonach ich suche. Windows enthält einige voreingestellte Auflösungen, die der Computer beim Rendern von Bildschirmen und Fenstern verwenden kann. Sie können diese Auflösungen in den Kontrollfeldern Nvidia und AMD hinzufügen. Nur wenn Sie einer dieser Listen eine neue Auflösung hinzufügen, kann Ihr Computer Spiele wie Halo: Online mit diesen Auflösungen ausführen. Momentan kann ich keine Möglichkeit finden, eine dieser Listen mit einer Auflösung zu versehen, ohne manuell eines der Kontrollfelder zu öffnen und manuell zu setzen. Ich bin nicht auf der Suche nach der Bildschirmauflösung. – PlGGS
Okay, danke für die Klarstellung, @PlGGS. Leider weiß ich über keine Windows-integrierte Möglichkeit, dies zu erreichen. Ich denke, dass Sie in diesem Fall die herstellerspezifische API verwenden müssten. Da die Grafik-Engine jedoch keine Probleme bei der (nicht vordefinierten) Auflösung haben sollte, gibt es vielleicht eine Konfigurationsdatei mit Auflösungseinstellungen? Können Sie die Werte bearbeiten und testen, was passiert? Ihre geteilte Bildschirm-App könnte alle Konfigurationsdateien bearbeiten, bevor Sie das Spiel starten. –
Ich sehe, @Bastian. Die App definiert bereits die Auflösung, die der Benutzer wählt, aus einer Liste von Auflösungen, die auf dem von Ihnen verwendeten PC definiert sind. Bevor ich diese Funktion implementiert habe, würden die Leute es manuell machen wie [dies] (https://www.reddit.com/r/HaloOnline/comments/4qi0qm/halo_online_split_screen_done_right/d4tbgz0). Wenn Sie das Spiel so einstellen, dass es mit einer Auflösung läuft, die Ihr PC nicht aufgelistet hat, führt es das Programm aus, das in der Liste am nächsten ist. Deshalb musste die Person im obigen Thread jimmy eine neue Auflösung in die Liste einbauen, damit sie dort ausgeführt wird – PlGGS
- 1. Wie würde man eine benutzerdefinierte GUI in C#
- 2. C++ Überlastungs Auflösung, benutzerdefinierte Umwandlung und Funktionsschablone
- 3. Wie passt man C# -Anwendung in jede Auflösung
- 4. Wie würde man eine FPS-Kamera implementieren?
- 5. Wie würde man eine Beobachtungsliste erstellen?
- 6. Kann AVCaptureSession benutzerdefinierte Auflösung verwenden
- 7. Wie würde man eine Rasierschleife in eine Vue.js-Komponente konvertieren?
- 8. Wie schreibt man benutzerdefinierte Ausnahmen in C#?
- 9. Method Auflösung um in C++
- 10. Wie würde man eine resolve.alias-Funktion für Schluck schreiben?
- 11. Wie würde ich eine Funktion als Parameter in C++ übergeben
- 12. Wie würde eine sdbm-Hash-Funktion in C# implementiert werden?
- 13. Wie würde man das automatisieren?
- 14. Ich würde gerne eine Hash-Map-Beispiel in C++
- 15. Wie beschleunigt man die automatische Auflösung?
- 16. Wie würde man eine bash-ähnliche Tab-Vervollständigung implementieren?
- 17. C++ - Vorlage Funktion Auflösung
- 18. Matplotlib - Wie zeichnet man eine Grafik mit hoher Auflösung?
- 19. Wie erstellt man eine benutzerdefinierte Zufallsverteilung?
- 20. Wie würde ich benutzerdefinierte Ansichten in einer Bildlaufansicht erneut laden?
- 21. Wie erstellt man benutzerdefinierte Widget in GTK3 in C?
- 22. Wie ändert man das Tabellenlayout in Abhängigkeit von der Auflösung?
- 23. C++ Operator Überladung Auflösung Ambiguität
- 24. Wie erstelle ich eine benutzerdefinierte Objekttypklasse in C#?
- 25. Wie kann man benutzerdefinierte HTTP-Header in C#
- 26. Wie konvertiert man benutzerdefinierte Struktur zu Variante in C++?
- 27. Wie erstellt man programmgesteuert eine benutzerdefinierte Farbpalette?
- 28. Wie benutzt man eine Enumeration, wie man eine Schnittstelle benutzen würde?
- 29. C#: Benutzerdefinierte Assembly-Verzeichnis
- 30. Bild speichern Auflösung in C# speichern
Dies kann relevant sein: http://stackoverflow.com/questions/15099523/changing-console-windows-size-throws-argumentoutofrangeexception – NoChance
Ich glaube nicht, da ich nicht die Höhe oder Breite eines Konsolenfensters ändern . – PlGGS