창과 CMD를 함께 표시하는 방법이 있습니까? 내 Windows 응용 프로그램에서 디버깅 정보 로거로 cmd를 사용하고 싶습니다.창 및 명령 줄 프롬프트 표시 방법?
답변
두 가지 접근 방법이 있습니다.
당신은 윈도우 응용 프로그램으로 응용 프로그램을 연결을 계속하고있는 당신이 할 수있는 출력에 디버깅 정보를 콘솔 창을 만들
AllocConsole
를 사용할 수 있습니다. 이 명령은 커널 핸들 만 열어 주므로 stdout/stderr를 콘솔에 연결하려면_open_osfhandle
및_fdopen
을 사용해야합니다._tWinMain()
대신_tmain
으로 시작한다는 것을 잊지 말고 응용 프로그램을 콘솔 응용 프로그램으로 연결할 수 있습니다.
예 가능합니다. 콘솔 응용 프로그램을 작성하고 일반 창 등록을 진행하고, 창을 만들고 이벤트를 수신하십시오. 윈도우 메시지 루프가있는 스레드와 동일한 스레드에서 블로킹 표준 입력을 사용하는 것은 피해야합니다 (콘솔 입력 작업이 끝나지 않는 한 창은 응답하지 않습니다).
창 응용 프로그램에서 여전히 allocate a console을 사용할 수 있지만 표준 출력과 표준 오류가 콘솔 I/O 버퍼에 바인딩되어 있는지 확실하지 않습니다.
콘솔 응용 프로그램은 CreateWindow
을 호출하고 창 응용 프로그램과 같은 메시지 루프를 수행하여 창을 관리 할 수 있습니다.
어떤 응용 프로그램 (WinMain
으로 입력하는 응용 프로그램)이라도 콘솔을 AllocConsole
과 연결할 수 있습니다.
그들은별로 다르지 않습니다! ;-)
'AllocConsole '호출은 쉬운 부분이다; 콘솔에 부착 된 표준 입출력을 얻는 것은 아닙니다 :-) –
그리고 GUI 응용 프로그램을 가지고 있다면 시작 프로세스에서 이미 콘솔을 다시 사용할 수 없습니다 – Joey
@Kerrek : 저는 보통 "CON"쪽으로 fstream을 엽니 다. 파일. –
Visual C++ 환경에서 디버깅 용도로만 사용하려는 경우 Windows 정의 매크로 TRACE()를 사용하지 않는 이유는 무엇입니까? 디버깅의 목적을 잘 수행합니다. Visual Studio의 출력 창에 씁니다. 그리고 그것은 매우 간단합니다.
- 1. 명령 프롬프트 창 (WinForms) 축약
- 2. C#, .NET : DOS 명령 프롬프트 창 숨기기
- 3. 명령 줄 Java 응용 프로그램에서 명령 프롬프트 (콘솔) 창 제목을 변경하는 방법?
- 4. 명령 프롬프트 응용 프로그램에서 WPF 창 만들기
- 5. 리눅스에서 명령 프롬프트 자습서
- 6. 간단한 명령 프롬프트 exe에 한 줄
- 7. C++ 별도의 명령 줄 창?
- 8. 명령 프롬프트 및 배치 파일
- 9. 명령 프롬프트 인쇄 대화 상자 명령
- 10. 특정 명령 프롬프트 닫기
- 11. 명령 프롬프트 jar 파일은
- 12. find 명령 프롬프트
- 13. Windows powershell : 명령 프롬프트 변경
- 14. 파일 변경 내역 filezilla 명령 줄 창
- 15. 명령 프롬프트/콘솔 창/DOS 상자에서 탭 중지를 변경하려면 어떻게합니까?
- 16. Windows 응용 프로그램의 명령 프롬프트 메시지 표시 (또는 콘솔의 메시지)
- 17. Ruby에서 명령 프롬프트 창을 닫는 방법?
- 18. 텍스트 읽기 명령 프롬프트/일괄 처리를 사용하여 줄 단위로 파일
- 19. 안드로이드에서 명령 프롬프트 sqlite에 데이터베이스 및 테이블을 만드는 방법
- 20. Wix ProgressBar 및 UAC 프롬프트
- 21. Visual Studio 명령 프롬프트 이외의 명령 줄에서 regasm.exe를 실행하는 방법?
- 22. 크기 조정 가능 창 및 작업 표시 줄 단추가 있지만 제목 표시 줄 없음
- 23. flex를 통해 명령 프롬프트 명령 실행
- 24. C# 및 WPF - 작업 표시 줄 팝업 알림 창 문제
- 25. 창 스타일/최소 제목 표시 줄/테두리
- 26. 창 또는 탭 URL 표시 줄 읽기
- 27. 필요 : 작업 표시 줄 아이콘이없는 팝업 창
- 28. Firefox에서 비밀번호 프롬프트 표시
- 29. 상태 표시 줄 위의 창 기본 스크롤 막대를 이동하는 방법?
- 30. 깨진 bash 프롬프트 랩 줄
아마도 [시도해보십시오] (http://dslweb.nwnexus.com/~ast/dload/guicon.htm) ... –
저렴한 옵션으로 OutputDebugString + dbmon.exe를 sdk/sysinternals 디버그 뷰 –
에서 디버깅 할 수 있습니다 또는 최종 사용자를위한? (편집 : 나는 방금 전에 언급 된'OutputDebugString'을 생각하고 있었기 때문에 이것을 물었다.) – AJG85