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 도입) |
추가 정보
개념
기타 리소스
참조