Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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:
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
Referensi
SetWindowText