模拟键盘输入,真的难倒我了,请大家帮帮忙吧,(30分)

  • 主题发起人 主题发起人 Donglizhou
  • 开始时间 开始时间
D

Donglizhou

Unregistered / Unconfirmed
GUEST, unregistred user!
想请问大家一下,怎么模拟键盘本想是小写的字母模拟进去的,
怎么用keybd_event(VkKeyScan('a'), 0,0,0);
发过去后,有几次测试时变大写了
'a'的ASCII码为97
'A'的ASCII码为65
结果我用了另一种发消息办法:
keybd_event(97,mapvirtualkey(97,0), 0,0);
发过去本意,明明是要他显示出大写的'a'的,
它却显示出小写'A',于是我就用
keybd_event(65,mapvirtualkey(65,0), 0,0);来发,
65明明是大写的'A'的,结果发过去显示出来的是小写的'a',我以为这样就可以实现发小写的'a'进去了,但是测试中却偶尔发现有那么几次,
又显示出大写的'A'出来,我真的不明白,
怎么模拟显示出小写的'a'了?
而不会出现想上面那样,有时又出现大写的'A'的情况的呢?
真是郁闷呀,
大家知道怎么回事吗?
大家遇到过这样的显现吗?
如何稳定的实现把小写的字母模拟进去的了?
谢谢了!
 
keybd_event( VK_SHIFT, 0, 0, 0 );
keybd_event( 65, 0, 0, 0 );
keybd_event( 65, 0, KEYEVENTF_KEYUP, 0);
keybd_event( VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
可以输入A
 
delphi有个模拟VB函数Sendkeys的单元文件,就是Sndkey32.pas,你可以看看。肯定对你要做的工作有帮助!
 
to sroc
我是想模拟进小写的字母"a",不是想模拟进大写的"A",
请解释一下,
我用
keybd_event(VkKeyScan('a'), 0,0,0);
怎么有时候出现了大写的"A"模拟进去了?我想要的是小写的"a",不稳定,所以不敢用,

keybd_event(65,mapvirtualkey(65,0), 0,0);看上去好象是模拟进大写的'A'的,
但是实际上模拟进的是小写的'a',以为这样就能达到目的了,结果,还是偶尔出现大写的
'A'模拟进去,我要的是模拟进小写的'a'。
那请问你一下:
keybd_event( VK_SHIFT, 0, 0, 0 );
keybd_event( 97, 0, 0, 0 );
keybd_event( 97, 0, KEYEVENTF_KEYUP, 0);
keybd_event( VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
可以输入a了?
那稳定吗,会不会出现大写的模拟情况了
 
to 麦苗:
请问在哪里可以找到这个单元了,我怎么找不到
 
后退
顶部