Fungsi LoadKeyboardLayoutA (winuser.h)
Memuat pengidentifikasi lokal input baru (sebelumnya disebut tata letak keyboard) ke dalam sistem.
Sebelum Windows 8: Beberapa pengidentifikasi lokal input dapat dimuat pada satu waktu, tetapi hanya satu per proses yang aktif pada satu waktu. Memuat beberapa pengidentifikasi lokal input memungkinkan untuk beralih dengan cepat di antara mereka.
Mulai Windows 8: Pengidentifikasi lokal input dimuat untuk seluruh sistem. Fungsi ini tidak berpengaruh jika proses saat ini tidak memiliki jendela dengan fokus keyboard.
Sintaks
HKL LoadKeyboardLayoutA(
[in] LPCSTR pwszKLID,
[in] UINT Flags
);
Parameter
[in] pwszKLID
Jenis: LPCTSTR
Nama pengidentifikasi lokal input yang akan dimuat. Nama ini adalah string yang terdiri dari nilai heksadesimal Pengidentifikasi Bahasa (kata rendah) dan pengidentifikasi perangkat (kata tinggi). Misalnya, bahasa Inggris A.S. memiliki pengidentifikasi bahasa 0x0409, sehingga tata letak utama bahasa Inggris AS diberi nama "00000409". Varian tata letak bahasa Inggris A.S. (seperti tata letak Dvorak) diberi nama "00010409", "00020409", dan sebagainya.
Untuk daftar tata letak input yang disediakan dengan Windows, lihat Pengidentifikasi Keyboard dan Editor Metode Input untuk Windows.
[in] Flags
Jenis: UINT
Menentukan bagaimana pengidentifikasi lokal input akan dimuat. Parameter ini bisa menjadi satu atau beberapa nilai berikut.
Nilai | Makna |
---|---|
|
Sebelum Windows 8: Jika pengidentifikasi lokal input yang ditentukan belum dimuat, fungsi akan memuat dan mengaktifkan pengidentifikasi lokal input untuk utas saat ini.
Dimulai di Windows 8: Jika pengidentifikasi lokal input yang ditentukan belum dimuat, fungsi memuat dan mengaktifkan pengidentifikasi lokal input untuk sistem. |
|
Sebelum Windows 8: Mencegah prosedur hook ShellProc menerima kode kait HSHELL_LANGUAGE saat pengidentifikasi lokal input baru dimuat. Nilai ini biasanya digunakan ketika aplikasi memuat beberapa pengidentifikasi lokal input satu demi satu. Menerapkan nilai ini ke semua kecuali pengidentifikasi lokal input terakhir menunda pemrosesan shell hingga semua pengidentifikasi lokal input telah ditambahkan.
Mulai Windows 8: Dalam skenario ini, pengidentifikasi lokal input terakhir diatur untuk seluruh sistem. |
|
Sebelum Windows 8: Memindahkan pengidentifikasi lokal input yang ditentukan ke kepala daftar pengidentifikasi lokal input, menjadikan pengidentifikasi lokal tersebut sebagai pengidentifikasi lokal aktif untuk utas saat ini. Nilai ini menyusun ulang daftar pengidentifikasi lokal input meskipun KLF_ACTIVATE tidak disediakan.
Dimulai di Windows 8: Memindahkan pengidentifikasi lokal input yang ditentukan ke kepala daftar pengidentifikasi lokal input, menjadikan pengidentifikasi lokal tersebut sebagai pengidentifikasi lokal aktif untuk sistem. Nilai ini menyusun ulang daftar pengidentifikasi lokal input meskipun KLF_ACTIVATE tidak disediakan. |
|
Jika pengidentifikasi lokal input baru memiliki pengidentifikasi bahasa yang sama dengan pengidentifikasi lokal input saat ini, pengidentifikasi lokal input baru menggantikan yang saat ini sebagai pengidentifikasi lokal input untuk bahasa tersebut. Jika nilai ini tidak disediakan dan pengidentifikasi lokal input memiliki pengidentifikasi bahasa yang sama, pengidentifikasi lokal input saat ini tidak diganti dan fungsi mengembalikan NULL. |
|
Mengganti pengidentifikasi lokal input yang ditentukan dengan lokal lain yang disukai oleh pengguna. Sistem dimulai dengan set bendera ini, dan disarankan agar aplikasi Anda selalu menggunakan bendera ini. Penggantian hanya terjadi jika kunci registri HKEY_CURRENT_USER\Keyboard Layout\Substitutes secara eksplisit mendefinisikan lokal substitusi. Misalnya, jika kunci menyertakan nama nilai "00000409" dengan nilai "00010409", memuat tata letak AS ("00000409") menyebabkan tata letak United States-Dvorak ("00010409") dimuat sebagai gantinya. Sistem menggunakan KLF_SUBSTITUTE_OK saat booting, dan disarankan agar semua aplikasi menggunakan nilai ini saat memuat pengidentifikasi lokal input untuk memastikan bahwa preferensi pengguna dipilih. |
|
Sebelum Windows 8: Bendera ini hanya valid dengan KLF_ACTIVATE. Mengaktifkan pengidentifikasi lokal input yang ditentukan untuk seluruh proses dan mengirim pesan WM_INPUTLANGCHANGE ke jendela Fokus atau Aktif utas saat ini. Biasanya, LoadKeyboardLayout mengaktifkan pengidentifikasi lokal input hanya untuk utas saat ini.
Dimulai di Windows 8: Bendera ini tidak digunakan. LoadKeyboardLayout selalu mengaktifkan pengidentifikasi lokal input untuk seluruh sistem jika proses saat ini memiliki jendela dengan fokus keyboard. |
|
Bendera ini tidak didukung. Gunakan fungsi UnloadKeyboardLayout sebagai gantinya . |
Nilai kembali
Jenis: HKL
Jika fungsi berhasil, nilai yang dikembalikan adalah pengidentifikasi lokal input yang sesuai dengan nama yang ditentukan dalam pwszKLID. Jika tidak ada lokal yang cocok yang tersedia, nilai yang dikembalikan adalah bahasa default sistem.
Jika fungsi gagal, nilai yang dikembalikan adalah NULL. Ini dapat terjadi jika pustaka tata letak dimuat dari direktori aplikasi.
Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Pengidentifikasi lokal input adalah konsep yang lebih luas daripada tata letak keyboard, karena juga dapat mencakup pengonversi ucapan ke teks, Metode Input Editor (IME), atau bentuk input lainnya.
Aplikasi biasanya dapat memuat pengidentifikasi lokal input default atau IME untuk bahasa dan dapat melakukannya dengan hanya menentukan versi string pengidentifikasi bahasa. Jika aplikasi ingin memuat lokal atau IME tertentu, aplikasi harus membaca registri untuk menentukan pengidentifikasi lokal input tertentu untuk diteruskan ke LoadKeyboardLayout. Dalam hal ini, permintaan untuk mengaktifkan pengidentifikasi lokal input default untuk lokal akan mengaktifkan yang cocok pertama. IME tertentu harus diaktifkan menggunakan pengidentifikasi lokal input eksplisit yang dikembalikan dari GetKeyboardLayout atau LoadKeyboardLayout.
Sebelum Windows 8: Fungsi ini hanya memengaruhi tata letak untuk proses atau utas saat ini.
Mulai Windows 8: Fungsi ini memengaruhi tata letak untuk seluruh sistem.
Catatan
Header winuser.h mendefinisikan LoadKeyboardLayout sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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 (sertakan Windows.h) |
Pustaka | User32.lib |
DLL | User32.dll |
Lihat juga
Konseptual
Sumber Daya Lain
Referensi
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk