vb模拟键盘问题

[复制链接]
查看11 | 回复7 | 2011-8-24 09:03:14 | 显示全部楼层 |阅读模式
写一个VB就是不停地做A操作A操作:按一下f5,再按一下回车
回复

使用道具 举报

千问 | 2011-8-24 09:03:14 | 显示全部楼层
使用PostMessage。支持最小化。\'API申明PrivateDeclareFunctionPostMessageLib\"USER32\"Alias\"PostMessageA\"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLong\'向下按键常数申明PrivateConstWM_KEYDOWN=defds123H100’请在代码中加入以下补充部分PrivateFunctionMakeKeyLparam(ByValVirtualKeyAsLong,ByValflagAsLong)AsLongDimsAsStringDimFirstbyteAsString\'lparam参数的24-31位Ifflag=WM_KEYDOWNThen\'如果是按下键Firstbyte=\"00\"ElseFirstbyte=\"C0\"\'如果是释放键EndIfDimScancodeAsLong\'获得键的扫描码Scancode=MapVirtualKey(VirtualKey,0)DimSecondbyteAsString\'lparam参数的16-23位,即虚拟键扫描码Secondbyte=Right(\"00\"defds123Hex(Scancode),2)s=Firstbytedefds123Secondbytedefds123\"0001\"\'0001为lparam参数的0-15位,即发送次数和其它扩展信息MakeKeyLparam=Val(\"defds123H\"defds123s)EndFunction‘以下为调用代码PostMessagechwnd,WM_KEYDOWN,vbKeyF5,MakeKeyLparam(vbKeyF5,WM_KEYDOWN)sleep100PostMessagechwnd,WM_KEYDOWN,vbKeyReturn,MakeKeyLparam(vbKeyReturn,WM_KEYDOWN)追问为什么编译不通过?本人沙茶不会改,请高手编译一下,谢谢
回复

使用道具 举报

千问 | 2011-8-24 09:03:14 | 显示全部楼层
这个代码我一直在用的,方便留一下QQ么,具体说
回复

使用道具 举报

千问 | 2011-8-24 09:03:14 | 显示全部楼层
表示没QQ直接hi我吧,编译通过就行了,谢了!
回复

使用道具 举报

千问 | 2011-8-24 09:03:14 | 显示全部楼层
我想起来了,忘记让你加一个API声明了PrivateDeclareSubSleepLib\"kernel32\"(ByValdwMillisecondsAsLong)
回复

使用道具 举报

千问 | 2011-8-24 09:03:14 | 显示全部楼层
求求各位大虾贴出你的代码,满意后追加100分问题补充:不能用sendkeys,要用如果你不想用SendKey之类的模拟键盘函数那只能用API函数SendMessage或者Post追问外星人
回复

使用道具 举报

千问 | 2011-8-24 09:03:14 | 显示全部楼层
要用postmassege函数的,这比较难追问会写吗?
回复

使用道具 举报

千问 | 2011-8-24 09:03:14 | 显示全部楼层
不会啊
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行