C # 콘솔 응용 프로그램에서 콘솔 창 숨기기


105

문제는 콘솔 창이 표시되는 것을 정말로 원하지 않지만 솔루션이 실행 중이어야한다는 것입니다. 여기서 내 요점은 창을 띄우지 않고 백그라운드에서 애플리케이션을 계속 실행하고 싶다는 것입니다.


2
응용 프로그램이 수행해야하는 작업에 대해 좀 더 자세한 정보를 제공 할 수 있습니까? 서비스 또는 Windows 응용 프로그램이어야하는 것 같습니까? 그 목적에 대한 약간의 지식 만 있으면 더 많은 것을 도울 수 있고 이를 해결 하는 가장 좋은 방법을 제안 할 수 있습니다 .
데이브

키로거 응용 프로그램입니다. Windows 서비스를 사용했지만 Windows 서비스에서 주요 상태를 가져올 수 없습니다
SOF User

답변:


188

콘솔 응용 프로그램 에서 Windows 응용 프로그램 으로 출력 유형을 변경합니다 . 이 작업 은 Visual Studio의 프로젝트-> 속성-> 응용 프로그램 에서 수행 할 수 있습니다 .

대체 텍스트


4
콘솔 창이 깜박이고 돌아갑니다. 창없이 애플리케이션을 계속 실행하려면 어떻게해야합니까?
SOF 사용자

@SOF 사용자 : 응용 프로그램을 어떻게 시작합니까? 탐색기 또는 시작 메뉴에서 두 번 클릭하여?
Dirk Vollmar

나는 또한 Console.ReadLine ();
SOF 사용자

16
을 제거합니다 Console.ReadLine. 콘솔 창이 없으면 말이되지 않습니다.
Dirk Vollmar

1
@ KarolŻurowski : 여기서 아이디어는 특정 형태의 UI (예 : 시스템 트레이의 아이콘)와 함께 제공되는 앱이나 특정 작업을 수행 한 다음 완료되면 자동으로 종료되는 앱에 사용하는 것입니다. 둘 다없는 경우 앱은 로그 오프 / 종료 할 때까지 또는 작업 관리자를 사용하여 명시 적으로 종료 될 때까지 백그라운드에서 실행됩니다.
Dirk Vollmar

26

애플리케이션 유형을 Windows 애플리케이션으로 변경하십시오. 코드는 계속 실행되지만 콘솔 창을 만들지 않는 한 표준 창도 없습니다.


2
콘솔 창이 깜박이고 돌아갑니다. 창없이 애플리케이션을 계속 실행하려면 어떻게해야합니까?
SOF 사용자

종료되지 않는지 확인하십시오. 더 많은 정보 없이는 할 말이 많지 않습니다. 프로그램은 무엇을합니까? 루프에서 무언가를 실행합니까?
Lasse V. Karlsen

1
응용 프로그램 "출력 유형"을 "Windows 응용 프로그램"으로 변경하는 것이 저에게 효과적이었습니다.
hellowahab

12

대신에 드디어 Console.Readline/key사용할 수 있습니다 new ManualResetEvent(false).WaitOne(). 이것은 나를 위해 잘 작동합니다.


3

Windows 서비스 응용 프로그램을 만들어 보십시오 . UI없이 백그라운드에서 실행됩니다.


3
Windows 서비스에서 키 누름 이벤트를 가져올 수 없음
SOF 사용자

1
서비스는 응용 프로그램에 따라 크게 제한됩니다. Windows Vista부터는 세션 0으로 강제 적용되므로 팝업 메시지 표시와 같은 다른 세션에서는 아무것도 수행 할 수 없습니다.
Matt

1
@Matt "다른 세션에서 아무것도 수행 할 수 없습니다"는 전적으로 사실이 아닙니다. 다음은 로그인 한 사용자의 데스크톱에서 관리자 명령 프롬프트를 여는 서비스에 대한 코드 프로젝트입니다. codeproject.com/Articles/35773/…
Qodex 2019

0

콘솔 응용 프로그램 에서 Windows 응용 프로그램 으로 출력 유형을 변경합니다 .

대신 마지막에 앱을 계속 실행하는 데 Console.Readline/key사용할 수 있습니다 new ManualResetEvent(false).WaitOne().

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.