关于模拟键盘输入的问题,在线等!

yangzhanfeng 2004-05-11 09:36:54
我可以实现的模拟输入的有英文字母键,数字键,Ctrl或者Shift加字母的组合键
但是当输入主键盘上的标点符号键时出现问题,不能输入,用的函数是keybd_event函数
请教模拟输入`!@#$%^&*()-_=+\|[{]};:'",<.>/?这些符号的方法,各位高手请帮忙啊
...全文
93 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
aspnetwuxueyou 2004-08-04
  • 打赏
  • 举报
回复
!发送方法
keybd_event(shift down
keybd_event(1
keybd_event(shift up
别的类似,就是几个键组合
zhucde 2004-08-03
  • 打赏
  • 举报
回复
哪一天的帖子?
wenyuzhang168 2004-08-03
  • 打赏
  • 举报
回复
HWND hChild //接受字符的子窗口句柄
char sss[100];
int i,len;
strcpy(sss,"!@#$%^&*()-_=+\|[{]};:'",<.>/");
len=strlen(sss);
for(i=0;i<len;i++)
{
::SendMessage(hChild,WM_CHAR,(WPARAM)(sss[i]&0x00ff),1);
或::PostMessage(hChild,WM_CHAR,(WPARAM)(sss[i]&0x00ff),1);
}
SendMessage和PostMessage用起来的效果会有区别的。在不同的OS下,就可以看出比较来。
无敌魔仙 2004-08-03
  • 打赏
  • 举报
回复
请查看一下MSDN中关于keybd_event的解释
wenyuzhang168 2004-06-13
  • 打赏
  • 举报
回复
HWND hChild //接受字符的子窗口句柄
char sss[100];
int i,len;
strcpy(sss,"!@#$%^&*()-_=+\|[{]};:'",<.>/");
len=strlen(sss);
for(i=0;i<len;i++)
{
::SendMessage(hChild,WM_CHAR,(WPARAM)(sss[i]&0x00ff),1);
}
itmaster 2004-05-11
  • 打赏
  • 举报
回复
http://www.vchelp.net/cndevforum/subject_view.asp?subject_id=967
蒋晟 2004-05-11
  • 打赏
  • 举报
回复
Windows NT/2000/XP: This function has been superseded. Use SendInput instead.

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧