2016-08-15 3 views
-1

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#?

+0

Dies kann relevant sein: http://stackoverflow.com/questions/15099523/changing-console-windows-size-throws-argumentoutofrangeexception – NoChance

+0

Ich glaube nicht, da ich nicht die Höhe oder Breite eines Konsolenfensters ändern . – PlGGS

Antwort

-1

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.

+0

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

+0

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. –

+0

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

Verwandte Themen