Bagikan melalui


Fungsi GetWindowTextA (winuser.h)

Menyalin teks bilah judul jendela yang ditentukan (jika memilikinya) ke dalam buffer. Jika jendela yang ditentukan adalah kontrol, teks kontrol akan disalin. Namun, GetWindowText tidak dapat mengambil teks kontrol di aplikasi lain.

Sintaksis

int GetWindowTextA(
  [in]  HWND  hWnd,
  [out] LPSTR lpString,
  [in]  int   nMaxCount
);

Parameter

[in] hWnd

Jenis: HWND

Handel ke jendela atau kontrol yang berisi teks.

[out] lpString

Jenis: LPTSTR

Buffer yang akan menerima teks. Jika string panjang atau lebih panjang dari buffer, string dipotong dan dihentikan dengan karakter null.

[in] nMaxCount

Jenis: int

Jumlah maksimum karakter yang akan disalin ke buffer, termasuk karakter null. Jika teks melebihi batas ini, teks akan dipotong.

Mengembalikan nilai

Jenis: int

Jika fungsi berhasil, nilai pengembalian adalah panjangnya, dalam karakter, dari string yang disalin, tidak termasuk karakter null yang mengakhiri. Jika jendela tidak memiliki bilah judul atau teks, jika bilah judul kosong, atau jika jendela atau handel kontrol tidak valid, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.

Fungsi ini tidak dapat mengambil teks kontrol edit di aplikasi lain.

Komentar

Jika jendela target dimiliki oleh proses saat ini, GetWindowText menyebabkan pesan WM_GETTEXT dikirim ke jendela atau kontrol yang ditentukan. Jika jendela target dimiliki oleh proses lain dan memiliki keterangan, GetWindowText mengambil teks keterangan jendela. Jika jendela tidak memiliki keterangan, nilai yang dikembalikan adalah string null. Perilaku ini dirancang. Ini memungkinkan aplikasi untuk memanggil GetWindowText tanpa menjadi tidak responsif jika proses yang memiliki jendela target tidak merespons. Namun, jika jendela target tidak merespons dan milik aplikasi panggilan, GetWindowText akan menyebabkan aplikasi panggilan menjadi tidak responsif.

Untuk mengambil teks kontrol dalam proses lain, kirim pesan WM_GETTEXT secara langsung alih-alih memanggil GetWindowText.

Contoh

Contoh kode berikut menunjukkan panggilan ke 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); 

Untuk melihat contoh ini dalam konteks, lihat Mengirim Pesan.

Nota

Header winuser.h mendefinisikan GetWindowText sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Platform Target Windows
Header winuser.h (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll
set API ext-ms-win-ntuser-window-l1-1-4 (diperkenalkan di Windows 10, versi 10.0.14393)

Lihat juga

Konseptual

GetWindowTextLength

Referensi

SetWindowText

WM_GETTEXT

Windows