VC++ keybd-event
来源:互联网 发布:省市县乡 json 编辑:程序博客网 时间:2024/04/30 05:57
The keybd_event function synthesizes a keystroke. The system can use such a synthesized keystroke to generate a WM_KEYUP or WM_KEYDOWN message. The keyboard driver's interrupt handler calls the keybd_event function.
Windows NT/2000/XP/Vista:This function has been superseded. Use SendInput instead.
Syntax
VOID keybd_event(
BYTE bVk, BYTE bScan, DWORD dwFlags, PTR dwExtraInfo);
Parameters
- bVk
- [in] Specifies a virtual-key code. The code must be a value in the range 1 to 254. For a complete list, see Virtual Key Codes.
- bScan
- Specifies a hardware scan code for the key.
- dwFlags
- [in] Specifies various aspects of function operation. This parameter can be one or more of the following values.
KEYEVENTF_EXTENDEDKEY
- If specified, the scan code was preceded by a prefix byte having the value 0xE0 (224).
KEYEVENTF_KEYUP
- If specified, the key is being released. If not specified, the key is being depressed.
- dwExtraInfo
- [in] Specifies an additional value associated with the key stroke.
Return Value
This function has no return value.
Remarks
An application can simulate a press of the PRINTSCRN key in order to obtain a screen snapshot and save it to the clipboard. To do this, call keybd_event with the bVk parameter set to VK_SNAPSHOT.
Windows NT/2000/XP: The keybd_event function can toggle the NUM LOCK, CAPS LOCK, and SCROLL LOCK keys.
Windows 95/98/Me: The keybd_event function can toggle only the CAPS LOCK and SCROLL LOCK keys. It cannot toggle the NUM LOCK key.
The following sample program toggles the NUM LOCK light by using keybd_event() with a virtual key of VK_NUMLOCK. It takes a Boolean value that indicates whether the light should be turned off (FALSE) or on (TRUE). The same technique can be used for the CAPS LOCK key (VK_CAPITAL) and the SCROLL LOCK key (VK_SCROLL).
Copy Code#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 ); }
Function Information
- VC++ keybd-event
- Java-jna(2)之Windows API keybd event
- VC++ 内核对象Event
- VC 生成后事件 Post-Build Event
- VC 生成后事件 Post-Build Event
- vc线程、信号量、Event对象的使用
- VC 生成后事件 Post-Build Event
- VC线程Thread和事件Event
- VC 2005 VC2008 VC 2010 ACTIVEX 事件 EVENT
- 24.VC(custom)-辅助线程安全退出( 双Event)
- VC之 线程同步之事件对象(Event)
- Event
- Event
- Event
- Event
- Event
- event
- event
- VC++ SetKeyboardState
- 大
- 2009年4月8日 博客改进公告!
- 感受幸福
- OpenCV中图像的通道问题
- VC++ keybd-event
- VC++ MapVirtualKey
- VC++ MapVirtualKeyEx
- VC++ LoadKeyboardLayout
- VC++ GetKeyState
- VC++ INPUT Structure
- VC++ mouse_event
- VC++ GetMessageExtraInfo
- Symbian C++学习之——菜单基础