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.

Sintaks

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 terpotong.

Nilai kembali

Jenis: int

Jika fungsi berhasil, nilai yang dikembalikan adalah panjang, 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, hubungi GetLastError.

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

Keterangan

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 caption, GetWindowText mengambil jendela caption teks. Jika jendela tidak memiliki caption, nilai yang dikembalikan adalah string null. Perilaku ini secara desain. 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.

Catatan

Header winuser.h mendefinisikan GetWindowText sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosedur 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

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

Lihat juga

Konseptual

GetWindowTextLength

Referensi

SetWindowText

WM_GETTEXT

Windows