LPARAM参数结构体
下述结构体为我根据微软官方文档进行编写的结构体使用的时候只需要对其填写数值即可。
1 2 3 4 5 6 7 8 9 10 11 12
| union KEYBOARD_LPARAM { DWORD m_dwParam; struct { DWORD m_dwClickCount : 16; DWORD m_dwScanCode : 8; DWORD m_dwExtraInfo : 1; DWORD m_dwReserved : 4; DWORD m_dwContextCode : 1; DWORD m_dwLastKeyStatus : 1; DWORD m_dwTransitionState : 1; } m_lparam; };
|
使用示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| KEYBOARD_LPARAM keyboard_lparam; keyboard_lparam.m_lparam.m_dwClickCount = 1; keyboard_lparam.m_lparam.m_dwScanCode = MapVirtualKey(btkeyCode, 0); keyboard_lparam.m_lparam.m_dwExtraInfo = 0; keyboard_lparam.m_lparam.m_dwReserved = 0; keyboard_lparam.m_lparam.m_dwContextCode = 0; keyboard_lparam.m_lparam.m_dwLastKeyStatus = dwLastKeyStatus; keyboard_lparam.m_lparam.m_dwTransitionState = 0;
::SendMessage(hWnd, WM_KEYDOWN, 'A', keyboard_lparam.m_dwParam); ::SendMessage(hWnd, WM_CHAR, 'A', keyboard_lparam.m_dwParam);
keyboard_lparam.m_lparam.m_dwLastKeyStatus = 1; keyboard_lparam.m_lparam.m_dwTransitionState = 1; ::SendMessage(hWnd, WM_KEYUP, 'A', keyboard_lparam.m_dwParam);
|
结束语
如果本文对你有所帮助,那么请你点赞留言哦~