GetWindowTextA 함수(winuser.h)
지정된 창의 제목 표시줄 텍스트(있는 경우)를 버퍼에 복사합니다. 지정한 창이 컨트롤이면 컨트롤의 텍스트가 복사됩니다. 그러나 GetWindowText 다른 애플리케이션에서 컨트롤의 텍스트를 검색할 수 없습니다.
통사론
int GetWindowTextA(
[in] HWND hWnd,
[out] LPSTR lpString,
[in] int nMaxCount
);
매개 변수
[in] hWnd
형식: HWND
텍스트를 포함하는 창 또는 컨트롤에 대한 핸들입니다.
[out] lpString
형식: LPTSTR
텍스트를 받을 버퍼입니다. 문자열이 버퍼보다 길거나 긴 경우 문자열이 잘리고 null 문자로 종료됩니다.
[in] nMaxCount
형식: int
null 문자를 포함하여 버퍼에 복사할 최대 문자 수입니다. 텍스트가 이 제한을 초과하면 잘립니다.
반환 값
형식: int
함수가 성공하면 반환 값은 종료 null 문자를 포함하지 않고 복사된 문자열의 길이(문자)입니다. 창에 제목 표시줄이나 텍스트가 없거나 제목 표시줄이 비어 있거나 창이나 컨트롤 핸들이 유효하지 않은 경우 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.
이 함수는 다른 애플리케이션에서 편집 컨트롤의 텍스트를 검색할 수 없습니다.
발언
대상 창이 현재 프로세스에서 소유하는 경우 getWindowText
다른 프로세스에서 컨트롤의 텍스트를 검색하려면 GetWindowText호출하는 대신 WM_GETTEXT 메시지를 직접 보냅니다.
예제
다음 예제 코드에서는 GetWindowTextA
hwndCombo = GetDlgItem(hwndDlg, IDD_COMBO);
cTxtLen = GetWindowTextLength(hwndCombo);
// Allocate memory for the string and copy
// the string into the memory.
pszMem = (PSTR) VirtualAlloc((LPVOID) NULL,
(DWORD) (cTxtLen + 1), MEM_COMMIT,
PAGE_READWRITE);
GetWindowText(hwndCombo, pszMem,
cTxtLen + 1);
컨텍스트에서 이 예제를 보려면 메시지보내는
메모
winuser.h 헤더는 GETWindowText를 UNICODE 전처리기 상수의 정의에 따라 이 함수의 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
windows