다음을 통해 공유


GetWindowTextLengthW 함수(winuser.h)

창에 제목 표시줄이 있는 경우 지정된 창의 제목 표시줄 텍스트의 길이를 문자 단위로 검색합니다. 지정된 창이 컨트롤인 경우 함수는 컨트롤 내의 텍스트 길이를 검색합니다. 그러나 GetWindowTextLength 는 다른 애플리케이션에서 편집 컨트롤의 텍스트 길이를 검색할 수 없습니다.

구문

int GetWindowTextLengthW(
  [in] HWND hWnd
);

매개 변수

[in] hWnd

형식: HWND

창 또는 컨트롤에 대한 핸들입니다.

반환 값

형식: int

함수가 성공하면 반환 값은 텍스트의 길이(문자)입니다. 특정 조건에서 이 값은 텍스트 길이보다 클 수 있습니다(주의 참조).

창에 텍스트가 없으면 반환 값은 0입니다.

함수 오류는 반환 값 0과 0이 아닌 GetLastError 결과로 표시됩니다.

참고

이 함수는 최신 오류 정보를 지우지 않습니다. 성공 또는 실패를 확인하려면 SetLastError 를 0으로 호출하여 가장 최근의 오류 정보를 지우고 GetLastError를 호출합니다.

설명

대상 창이 현재 프로세스에서 소유하는 경우 GetWindowTextLength 는 지정된 창 또는 컨트롤에 WM_GETTEXTLENGTH 메시지를 보냅니다.

특정 조건에서 GetWindowTextLength 함수는 텍스트의 실제 길이보다 큰 값을 반환할 수 있습니다. 이는 ANSI 및 유니코드의 특정 혼합물에서 발생하며, 시스템에서 텍스트 내에 DBCS(더블 바이트 문자 집합) 문자가 존재할 수 있기 때문입니다. 그러나 반환 값은 항상 최소한 텍스트의 실제 길이만큼 커야 합니다. 따라서 항상 버퍼 할당을 안내하는 데 사용할 수 있습니다. 이 동작은 애플리케이션이 ANSI 함수와 유니코드를 사용하는 일반 대화 상자를 모두 사용할 때 발생할 수 있습니다. 애플리케이션이 창 프로시저가 유니코드인 창과 함께 GetWindowTextLength 의 ANSI 버전을 사용하거나 창 프로시저가 ANSI인 창이 있는 GetWindowTextLength 의 유니코드 버전을 사용하는 경우에도 발생할 수 있습니다. ANSI 및 ANSI 함수에 대한 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

WM_GETTEXT, LB_GETTEXT 또는 CB_GETLBTEXT 메시지 또는 GetWindowText 함수를 사용합니다.

참고

winuser.h 헤더는 GETWindowTextLength를 유니코드 전처리기 상수의 정의에 따라 이 함수의 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-1(Windows 8.1 도입)

추가 정보

CB_GETLBTEXT

개념

GetWindowText

LB_GETTEXT

기타 리소스

참조

SetWindowText

WM_GETTEXT

WM_GETTEXTLENGTH

Windows