模拟键盘击键(急!!!)
各位大虾:
请问如何用SendMessage(...)模拟在键盘上输入大写字母(如模拟shift+'a')?
问题点数:68、回复次数:4Top
1 楼nne998(☆☆☆☆☆☆☆伴月)回复于 2001-09-05 14:49:08 得分 0
哈哈,又有分了啊
回复人: nne998(上上下下左右左右BABA) (2001-9-5 14:38:45) 得0分
这个问题我已经答过很多遍了,参考
http://www.csdn.net/expert/topic/89/89339.shtm
http://www.csdn.net/expert/topic/150/150617.shtm
回复人: nne998(上上下下左右左右BABA) (2001-9-5 14:41:51) 得0分
shift + 'a' 换成Delphi 就是:
keybd_event(VK_SHIFT,0,KEYEVENTF_EXTENDEDKEY + 0,0);
keybd_event(65,0,KEYEVENTF_EXTENDEDKEY + 0,0);
keybd_event(65,0,KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP,0);
keybd_event(VK_SHIFT,0,KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP,0);
Top
2 楼Tense(何必)回复于 2001-09-05 16:18:41 得分 60
up?
nne998(上上下下左右左右BABA)
是否有更好的方法?Top
3 楼qiandeng(千灯)回复于 2001-09-05 16:24:25 得分 8
直接用
sendMessage(self.handle,wm_char,ord('a'),0);即可
sendMessage还有很多参数,你想怎么模拟就怎么模拟
Top
4 楼nne998(☆☆☆☆☆☆☆伴月)回复于 2001-09-05 16:34:13 得分 0
用 keybd_event是模拟键盘输入最好最好的方法!
你sendmessage wm_char 不会有WM_KEYDOWN,WM_KEYUP吧Top




