Eine Konsolenanwendung mit C#/Visual Studio 2017 erstellt. Wenn ich die Konsolenanwendung von VS oder einem Windows 10-Computer aus starte, verwendet sie die Standardeinstellungen für meine Konsolenanwendung (Optionen/Schriftart/Layout/Farben). Wenn ich versuche, es auf einem Testserver mit Windows Server 2012 R2 auszuführen, werden zufällige Einstellungen verwendet (kleine Puffergröße/große Schrift/unregelmäßig geformtes Fenster). Ich habe versucht:Wie wird die C# -Konsolenanwendung für die Verwendung der Standardkonsoleneinstellungen (Windows Server 2012) festgelegt?
- Einstellung Defaults auf Server (2012) auf gleiche Standardwerte auf Local (Windows 10/VS)
- Programmatically Eigenschaften Konsolenfenster Einstellung
- Ausführen von Command Line
Wenn ich die Anwendung über die Befehlszeile (program.exe) ausführe, verwendet sie die Standardeinstellungen. Aber wenn ich auf die ausführbare Datei klicke, tut es das nicht. Was fehlt mir hier?
Das Betriebssystem merkt sich die Konsoleneinstellungen nach Benutzerkonto und Anwendungsname. Cmd.exe und yourapp.exe sind nicht identisch. Sie können diese Einstellungen mit Regedit.exe, HCKU/Console Key wieder sehen. Superuser.com ist ein guter Ort, um Fragen zu stellen. –
Super! Es war nicht klar, dass Benutzer- und Anwendungs-Konsolenfenster sich in separaten Einstellungen befanden. Suchen Sie die Einträge und legen Sie die Standardeinstellungen für die Anwendung fest. Sie waren sehr verschieden. Vielen Dank! – Gee
Es basiert nicht auf dem Anwendungsnamen, sondern auf dem ursprünglichen Titel des Konsolenfensters. Wenn Sie beim Aufruf von 'CreateProcess' keinen Fenstertitel über' STARTUPINFO' setzen (z. B. wenn Sie den Befehl 'start' von CMD verwenden), ist der anfängliche Fenstertitel der Anwendungspfad. Wenn eine Konsolenanwendung über eine .lnk-Verknüpfung gestartet wird, werden die Einstellungen von der Verknüpfung und nicht von der Registrierung geladen und in der Verknüpfung gespeichert. – eryksun