鱼C论坛

 找回密码
 立即注册
查看: 3507|回复: 5

[已解决]keybd_event模拟按键输出字符问题

[复制链接]
发表于 2019-1-24 22:26:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<Windows.h>
#include<stdlib.h>
int main(int argc, char* argv[])
{
        int i=33;
        while(i<128)
        {
        keybd_event('w',0,0,0);
        keybd_event('w',0,2,0);
        i++;
        Sleep(3000);
        }
        return 0;
}
为啥我直接写字符‘w'无法模拟键盘按键,所有的英文字符都不行这是为啥啊,我记得好像以前可以的啊,但是我直接输出数字字符就行比如’1‘
这是为什么都是字符啊想不通
最佳答案
2019-1-24 23:55:18
说真的,太巧了,我最近几天刚刚写了2个程序,都用到了keybd_event函数^_^

https://docs.microsoft.com/en-us ... winuser-keybd_event

keybd_event函数的第1个参数是
virtual-key code

Virtual-Key Codes
https://docs.microsoft.com/zh-cn ... v/virtual-key-codes

这张表中没有小写字母
大写字符 ‘A’ 和小写字符‘a’的编码都是大写字符‘A’

keybd_event('A',0,0,0); 输入的是小写字符‘a’

要想输入大写字符‘A’怎么办?
你在键盘上怎么输入,在这里就怎么输入

输入大写字符要按shift

输入大写字符‘A’
keybd_event(VK_LSHIFT, 0, 0, 0);                // 按下shift
keybd_event('A', 0, 0, 0);                        // 按下字符‘A’
keybd_event('A', 0, KEYEVENTF_KEYUP, 0);        // 松开字符‘A’
keybd_event(VK_LSHIFT, 0, KEYEVENTF_KEYUP, 0);        // 松开shift


小写就不要按shift
keybd_event('A', 0, 0, 0);                        // 按下字符‘A’
keybd_event('A', 0, KEYEVENTF_KEYUP, 0);        // 松开字符‘A’
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-1-24 23:55:18 | 显示全部楼层    本楼为最佳答案   
说真的,太巧了,我最近几天刚刚写了2个程序,都用到了keybd_event函数^_^

https://docs.microsoft.com/en-us ... winuser-keybd_event

keybd_event函数的第1个参数是
virtual-key code

Virtual-Key Codes
https://docs.microsoft.com/zh-cn ... v/virtual-key-codes

这张表中没有小写字母
大写字符 ‘A’ 和小写字符‘a’的编码都是大写字符‘A’

keybd_event('A',0,0,0); 输入的是小写字符‘a’

要想输入大写字符‘A’怎么办?
你在键盘上怎么输入,在这里就怎么输入

输入大写字符要按shift

输入大写字符‘A’
keybd_event(VK_LSHIFT, 0, 0, 0);                // 按下shift
keybd_event('A', 0, 0, 0);                        // 按下字符‘A’
keybd_event('A', 0, KEYEVENTF_KEYUP, 0);        // 松开字符‘A’
keybd_event(VK_LSHIFT, 0, KEYEVENTF_KEYUP, 0);        // 松开shift


小写就不要按shift
keybd_event('A', 0, 0, 0);                        // 按下字符‘A’
keybd_event('A', 0, KEYEVENTF_KEYUP, 0);        // 松开字符‘A’
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 23:19:53 | 显示全部楼层
人造人 发表于 2019-1-24 23:55
说真的,太巧了,我最近几天刚刚写了2个程序,都用到了keybd_event函数^_^

https://docs.microsoft.com/ ...

明白了,谢谢,没想到还能这样玩
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 23:30:42 From FishC Mobile | 显示全部楼层
大佬套接字这块有研究吗,你帮我看看我代码哪错了了吗https://fishc.com.cn/forum.php?mod=viewthread&tid=126373&mobile=2以前的贴
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-30 13:47:39 | 显示全部楼层
wjp 发表于 2019-1-25 23:30
大佬套接字这块有研究吗,你帮我看看我代码哪错了了吗https://fishc.com.cn/forum.php?mod=viewthread&tid= ...

第1,你在你的帖子下面回复我,我根本就看不到,我没有收到通知,今天偶然翻了一下你的帖子才看到这个
第2,给你2个程序自行研究
链接:https://pan.baidu.com/s/1UnUraWYFCIVGUUK_T5wX7g
提取码:g38f

第3,善用网络,百度是你的朋友


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-30 16:09:20 | 显示全部楼层
人造人 发表于 2019-1-30 13:47
第1,你在你的帖子下面回复我,我根本就看不到,我没有收到通知,今天偶然翻了一下你的帖子才看到这个
...

嗯嗯 谢谢,以前在百度在找好久没怎么搞明白,所以找大佬请教下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-3 06:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表