SendMessage VB按键问题~
SendMessageddrhwd,&H100,49,0&SendMessageddrhwd,&H101,49,0&是按下1键,那怎么按shift+1??不要只有最顶窗口...
SendMessage ddrhwd, &H100, 49, 0&
SendMessage ddrhwd, &H101, 49, 0&
是按下1键,那怎么按shift+1??
不要只有最顶窗口起作用的按键代码.谢谢
不是!号,是需要它的组合键,试过用!号是不行的了.. 展开
SendMessage ddrhwd, &H101, 49, 0&
是按下1键,那怎么按shift+1??
不要只有最顶窗口起作用的按键代码.谢谢
不是!号,是需要它的组合键,试过用!号是不行的了.. 展开
3个回答
展开全部
先发送SHIFT的按下命令
再发送1键
然后再发送SHIFT键的弹起命令,
下面是我以前在广海论坛发的贴子的部分源码,你看看
.....
Public Const VbKey1 = &H31 '数字1键,攻击技能放在此快捷键
Public Const VbKey2 = &H32 '数字2键,拾取快捷键
Public Const VbKey4 = &H34 '数字4键,回血或红药快捷键
Public Const VK_F1 = &H70 'F1键,魔法药快键键,当然,你还可以加入更多的键,只要相应的加入些—判断就行了
Public Const WM_KEYDOWN = &H100 '按键按下时
Public Const WM_KEYUP = &H101 '按键放开时
Public Const vbKeyTab = &H9 'Tab键,武林外传中的寻怪键
....
SendMessage Hwd, WM_KEYDOWN, vbKeyTab, 0& '寻怪Tab键
SendMessage Hwd, WM_KEYUP, vbKeyTab, 0&
....
SendMessage Hwd, WM_KEYDOWN, VbKey4, 0& '按4键
SendMessage Hwd, WM_KEYUP, VbKey4, 0&
SendMessage Hwd, WM_KEYDOWN, VbKey4, 0& '按4键
SendMessage Hwd, WM_KEYUP, VbKey4, 0&
再发送1键
然后再发送SHIFT键的弹起命令,
下面是我以前在广海论坛发的贴子的部分源码,你看看
.....
Public Const VbKey1 = &H31 '数字1键,攻击技能放在此快捷键
Public Const VbKey2 = &H32 '数字2键,拾取快捷键
Public Const VbKey4 = &H34 '数字4键,回血或红药快捷键
Public Const VK_F1 = &H70 'F1键,魔法药快键键,当然,你还可以加入更多的键,只要相应的加入些—判断就行了
Public Const WM_KEYDOWN = &H100 '按键按下时
Public Const WM_KEYUP = &H101 '按键放开时
Public Const vbKeyTab = &H9 'Tab键,武林外传中的寻怪键
....
SendMessage Hwd, WM_KEYDOWN, vbKeyTab, 0& '寻怪Tab键
SendMessage Hwd, WM_KEYUP, vbKeyTab, 0&
....
SendMessage Hwd, WM_KEYDOWN, VbKey4, 0& '按4键
SendMessage Hwd, WM_KEYUP, VbKey4, 0&
SendMessage Hwd, WM_KEYDOWN, VbKey4, 0& '按4键
SendMessage Hwd, WM_KEYUP, VbKey4, 0&
展开全部
我没用SendMessage,用的keybd_event
下面的代码是我模拟WIN+D来显示桌面用的
它需要4个动作,按下WIN,按下D,放开D,放开WIN
参考下吧:
Call keybd_event(91, 0, 0, 0)
Call keybd_event(Asc("D"), 0, 0, 0)
Call keybd_event(Asc("D"), 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(91, 0, KEYEVENTF_KEYUP, 0)
对了, KEYEVENTF_KEYUP = &H2
下面的代码是我模拟WIN+D来显示桌面用的
它需要4个动作,按下WIN,按下D,放开D,放开WIN
参考下吧:
Call keybd_event(91, 0, 0, 0)
Call keybd_event(Asc("D"), 0, 0, 0)
Call keybd_event(Asc("D"), 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(91, 0, KEYEVENTF_KEYUP, 0)
对了, KEYEVENTF_KEYUP = &H2
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
49就是'1'的ASCII码,你现在需要Shift+1,实际上就是'!'的ASCII码,也就是33
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询