DetailPage-MSS-KB

기술 자료

기술 자료: 124103 - 마지막 검토: 2005년 7월 11일 월요일 - 수정: 1.3

 

이 페이지에서

요약

콘솔 응용 프로그램에 연결된 창을 조작하는 데 유용할 수 있습니다. Win32 API 콘솔 응용 프로그램에 연결된 창 핸들을 가져오기 없음 직접적인 방법을 제공합니다. 그러나 호출 FindWindow()에 의해 창 핸들을 얻을 수 있습니다. 이 함수는 클래스 이름 또는 창 이름을 기준으로 창 핸들을 검색합니다.

현재 콘솔 제목을 확인하려면 GetConsoleTitle()를 호출하십시오. 다음 FindWindow() 현재 콘솔 제목을 제공하십시오.

추가 정보

같은 제목의 창이 여러 개 있을 수 있으므로 현재 콘솔 창 제목을 고유한 제목 변경해야 합니다. 잘못된 창 핸들이 반환되지 않도록 도와줍니다. SetConsoleTitle()를 현재 콘솔 창 제목을 변경할 수 있습니다. 프로세스는 다음과 같습니다.
  1. 현재 콘솔 창 제목 저장하려면 GetConsoleTitle()를 호출하십시오.
  2. 고유 제목 콘솔 제목을 변경하려면 SetConsoleTitle()를 호출하십시오.
  3. 호출이 Sleep(40) 창 제목을 확인하기 위해 업데이트되었습니다.
  4. 작업이 실패한 경우 (NULL, uniquetitle)이 이 호출은 HWND를 얻으려면 FindWindow 호출 HWND--NULL을 반환합니다.
  5. 호출이 SetConsoleTitle() 값이 1 단계에서 원래 창 제목 복원 검색할.
결과 HWND를 테스트해야 합니다. 예를 들어, GetWindowText()에 대한 HWND 호출하고 GetConsoleTitle() 결과와 비교하는 의해 반환된 HWND 현재 프로세스와 해당하는 경우 보려면 테스트할 수 있습니다.

결과 HWND 모든 창 핸들 작업에 적합한 것은 아닙니다.

예제 코드

다음 함수는 현재 콘솔 응용 프로그램 창 핸들 (HWND) 검색합니다. 함수가 성공적으로 실행된 경우 반환 값은 콘솔 창 핸들입니다. 함수가 실패하면 반환 값은 NULL 입니다. 일부 오류 검사, 간단하게 나타내기 위해 생략됩니다.
   HWND GetConsoleHwnd(void)
   {
       #define MY_BUFSIZE 1024 // Buffer size for console window titles.
       HWND hwndFound;         // This is what is returned to the caller.
       char pszNewWindowTitle[MY_BUFSIZE]; // Contains fabricated
                                           // WindowTitle.
       char pszOldWindowTitle[MY_BUFSIZE]; // Contains original
                                           // WindowTitle.

       // Fetch current window title.

       GetConsoleTitle(pszOldWindowTitle, MY_BUFSIZE);

       // Format a "unique" NewWindowTitle.

       wsprintf(pszNewWindowTitle,"%d/%d",
                   GetTickCount(),
                   GetCurrentProcessId());

       // Change current window title.

       SetConsoleTitle(pszNewWindowTitle);

       // Ensure window title has been updated.

       Sleep(40);

       // Look for NewWindowTitle.

       hwndFound=FindWindow(NULL, pszNewWindowTitle);

       // Restore original window title.

       SetConsoleTitle(pszOldWindowTitle);

       return(hwndFound);
   }
				

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Platform Software Development Kit-January 2000 Edition
키워드: 
kbmt kbhowto kbwndw KB124103 KbMtko
기계 번역된 문서기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store