1

C#/Visual Studio 2017을 사용하여 콘솔 응용 프로그램을 만들었습니다. VS 또는 Windows 10 컴퓨터에서 콘솔 응용 프로그램을 실행하면 내 응용 프로그램 (옵션/글꼴/레이아웃/색)의 기본 설정이 완벽하게 사용됩니다. 그러나 Windows Server 2012 R2를 사용하여 테스트 서버에서 실행하려고하면 임의의 설정 (작은 버퍼 크기/큰 글꼴/이상한 모양의 창)이 사용됩니다. 나는 시도했다 :C# 콘솔 응용 프로그램을 기본 콘솔 설정 (Windows Server 2012)을 사용하도록 설정하는 방법?

  • 은 지역에 같은 기본값으로 서버 (2012)에 기본값 설정 (윈도우 10/VS)
명령 줄에서 실행 콘솔 창
  • 프로그래밍 방식 설정 기능

    명령 줄 (program.exe)에서 응용 프로그램을 실행하면 기본 설정이 사용됩니다. 하지만 실행 파일을 클릭하면 그렇지 않습니다. 내가 여기서 무엇을 놓치고 있니?

  • +0

    OS는 사용자 계정 및 응용 프로그램 이름별로 콘솔 설정을 기억합니다. Cmd.exe와 yourapp.exe는 동일하지 않습니다. Regedit.exe, HCKU/Console 키를 사용하여 이러한 설정을 다시 볼 수 있습니다. Superuser.com은 그것에 대해 질문 할 수있는 좋은 곳입니다. –

    +0

    굉장! 사용자 및 응용 프로그램 콘솔 창이 별도의 설정 내에 있다는 것을 인식하지 못했습니다. 항목을 찾은 다음 응용 프로그램의 기본값을 설정합니다. 그들은 매우 달랐습니다. 고맙습니다! – Gee

    +0

    응용 프로그램 이름이 아니라 초기 콘솔 창 제목을 기반으로합니다. 'CreateProcess'를 호출 할 때 (예 : CMD의'start' 명령을 사용할 때)'STARTUPINFO '를 통해 창 제목을 설정하지 않으면 초기 창 제목이 응용 프로그램 경로입니다. 또한 콘솔 응용 프로그램이 .lnk 바로 가기를 통해 시작된 경우 설정은 레지스트리 대신 바로 가기에서로드되고 저장됩니다. – eryksun

    답변

    1

    분명히 콘솔에는 두 가지 설정이 있습니다. 하나는 사용자 계정 용이고 다른 하나는 초기 콘솔 창 제목 (이 경우에는 내 응용 프로그램 용)입니다. Regedit.exe, HCKU/Console 키 내의 설정을보고 초기 콘솔 창 제목의 설정을 제거한 다음 응용 프로그램 (관리자)을 실행하고 기본값을 변경했습니다. 의견을 가져 주셔서 감사합니다!

    +0

    콘솔 초기화는 먼저 기본 설정 ("HKCU \ Console")을 적용합니다. 창 제목 설정 ("HKCU \ Console \ [창 제목]")은 기본값보다 우선합니다. 레지스트리를 사용하는 대신 GUI의 "기본값"및 "등록 정보"대화 상자를 통해 기본 및 창 제목 설정을 각각 설정할 수 있습니다. – eryksun

    +0

    .lnk 바로 가기를 사용하여 응용 프로그램을 시작하면 .lnk 파일의 경로가 창 제목으로 전달됩니다. 즉, 'GetStartupInfo'의 시작 정보에 'STARTF_TITLEISLINKNAME' 플래그가 표시됩니다. 콘솔 API는 차례로 window-title 설정에 .lnk 파일을 사용하고 "등록 정보"대화 상자는 바로 가기를 수정합니다. – eryksun