다음을 통해 공유


GetWindowTextW 함수(winuser.h)

지정된 창의 제목 표시줄 텍스트(있는 경우)를 버퍼에 복사합니다. 지정된 창이 컨트롤이면 컨트롤의 텍스트가 복사됩니다. 그러나 GetWindowText 는 다른 애플리케이션에서 컨트롤의 텍스트를 검색할 수 없습니다.

구문

int GetWindowTextW(
  [in]  HWND   hWnd,
  [out] LPWSTR lpString,
  [in]  int    nMaxCount
);

매개 변수

[in] hWnd

형식: HWND

텍스트를 포함하는 창 또는 컨트롤에 대한 핸들입니다.

[out] lpString

형식: LPTSTR

텍스트를 받을 버퍼입니다. 문자열이 버퍼보다 길거나 길면 문자열이 잘리고 null 문자로 종료됩니다.

[in] nMaxCount

형식: int

null 문자를 포함하여 버퍼에 복사할 최대 문자 수입니다. 텍스트가 이 제한을 초과하면 잘립니다.

반환 값

형식: int

함수가 성공하면 반환 값은 종료 null 문자를 포함하지 않고 복사된 문자열의 길이(문자)입니다. 창에 제목 표시줄이나 텍스트가 없거나 제목 표시줄이 비어 있거나 창이나 컨트롤 핸들이 유효하지 않은 경우 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

이 함수는 다른 애플리케이션에서 편집 컨트롤의 텍스트를 검색할 수 없습니다.

설명

대상 창이 현재 프로세스에서 소유하는 경우 GetWindowText 는 지정된 창 또는 컨트롤로 WM_GETTEXT 메시지를 보냅니다. 대상 창이 다른 프로세스에 의해 소유되고 캡션 있는 경우 GetWindowText는 창 캡션 텍스트를 검색합니다. 창에 캡션 없는 경우 반환 값은 null 문자열입니다. 이 동작은 의도된 것입니다. 대상 창을 소유하는 프로세스가 응답하지 않는 경우 애플리케이션이 응답하지 않고 GetWindowText 를 호출할 수 있습니다. 그러나 대상 창이 응답하지 않고 호출 애플리케이션에 속하는 경우 GetWindowText 로 인해 호출 애플리케이션이 응답하지 않습니다.

다른 프로세스에서 컨트롤의 텍스트를 검색하려면 GetWindowText를 호출하는 대신 직접 WM_GETTEXT 메시지를 보냅니다.

예제

예를 들어 메시지 보내기를 참조하세요.

참고

winuser.h 헤더는 GETWindowText를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-window-l1-1-4(Windows 10 버전 10.0.14393에 도입됨)

추가 정보

개념

GetWindowTextLength

참조

SetWindowText

WM_GETTEXT

Windows