Share via


GetWindowTextLengthA 함수(winuser.h)

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

구문

int GetWindowTextLengthA(
  [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