keybd_event (winuser.h)
Mensintesis penekanan tombol. Sistem dapat menggunakan penekanan tombol yang disintesis seperti itu untuk menghasilkan pesan WM_KEYUP atau WM_KEYDOWN . Handler interupsi driver keyboard memanggil fungsi keybd_event .
Sintaks
void keybd_event(
[in] BYTE bVk,
[in] BYTE bScan,
[in] DWORD dwFlags,
[in] ULONG_PTR dwExtraInfo
);
Parameter
[in] bVk
Jenis: BYTE
Kode kunci virtual. Kode harus berupa nilai dalam rentang 1 hingga 254. Untuk daftar lengkapnya, lihat Kode Kunci Virtual.
[in] bScan
Jenis: BYTE
Kode pemindaian perangkat keras untuk kunci tersebut.
[in] dwFlags
Jenis: DWORD
Mengontrol berbagai aspek operasi fungsi. Parameter ini bisa menjadi satu atau beberapa nilai berikut.
[in] dwExtraInfo
Jenis: ULONG_PTR
Nilai tambahan yang terkait dengan goresan kunci.
Nilai kembali
Tidak ada
Keterangan
Aplikasi dapat mensimulasikan tekan tombol PRINTSCRN untuk mendapatkan rekam jepret layar dan menyimpannya ke clipboard. Untuk melakukan ini, panggil keybd_event dengan parameter bVk yang diatur ke VK_SNAPSHOT.
Contoh
Contoh program berikut mengalihkan lampu NUM LOCK dengan menggunakan keybd_event dengan kunci virtual VK_NUMLOCK. Dibutuhkan nilai Boolean yang menunjukkan apakah lampu harus dimatikan (FALSE) atau menyala (TRUE). Teknik yang sama dapat digunakan untuk kunci CAPS LOCK (VK_CAPITAL) dan tombol SCROLL LOCK (VK_SCROLL).
#include <windows.h>
void SetNumLock( BOOL bState )
{
BYTE keyState[256];
GetKeyboardState((LPBYTE)&keyState);
if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||
(!bState && (keyState[VK_NUMLOCK] & 1)) )
{
// Simulate a key press
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | 0,
0 );
// Simulate a key release
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
}
}
void main()
{
SetNumLock( TRUE );
}
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 |