|
发表于 2021-7-12 20:27:04
|
显示全部楼层
通过oemKeyScan和MapVirtualKey函数
oemKeyScan可以获得扫描码以及转换状态,状态有shift被按下,ctrl被按下,alt被按下等等。
MapVirtualKey将一虚拟键码翻译(映射)成一扫描码或一字符值,或者将一扫描码翻译成一虚拟键码。
- DWORD sc, shift;
- unsigned char vkey;
- char a;
- CString str = "abc";
- for (int i = 0; i<str.GetLength(); i++)//模拟键盘输出str中的字符
- {
- a = str.GetAt(i);
- sc = OemKeyScan(a);
- shift = sc >> 16;
- vkey = MapVirtualKey(sc & 0xffff, 1);
- if (shift)
- keybd_event(VK_SHIFT, 0, 0, 0);
- keybd_event(vkey, 0, 0, 0);
- keybd_event(vkey, 0, KEYEVENTF_KEYUP, 0);
- if (shift)
- keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
- }
- //原文地址 https://www.cnblogs.com/macher/p/4488606.html
复制代码
虚拟按键码表 https://blog.csdn.net/qq_42372031/article/details/105178789 |
评分
-
查看全部评分
|