qq_29359511 2015-10-20 04:56 采纳率: 33.3%
浏览 1605

VB keybd_event应用中遇到的问题,哪位好心大侠能帮帮我

各位大侠,小弟为了实现模拟键盘动作,谢了这段代码。但是我点击BUTTON1时,text1敲下的是Q,而且大小写好像是随机的。键盘码65不是应该是a吗?我要完成一连串的键盘鼠标动作,这仅仅是个试验就碰到这种问题。哪位大侠能帮帮我啊,感激不尽
Public Class Form2
Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwflags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Declare Sub keybd_event Lib "user32" (ByRef bVk As Byte, ByRef bScan As Byte, ByRef dwFlags As Long, ByRef dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBox1.Focus()
    Call keybd_event(65, 0, 0, 0)
    Call keybd_event(65, 0, KEYEVENTF_KEYUP, 0)
End Sub

End Class

  • 写回答

2条回答 默认 最新

  • WorldMobile 2015-10-20 05:16
    关注

    Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    ’参数bVk表示要模拟的按键的虚拟码,bScan表示该按键的扫描码(一般可以传0),dwFlags表示是按下键还是释放键(按下键为0,释放键为2),dwExtraInfo是扩展标志,一般没有用。
    keybd_event VK_Ctrl, 0, 0, 0 '按下Ctrl键
    keybd_event VK_C, 0, 0, 0 '按下C键
    Sleep 500 '延时500毫秒
    keybd_event VK_C, 0, KEYEVENTF_KEYUP, 0 '释放C键
    keybd_event VK_Ctrl, 0, KEYEVENTF_KEYUP, 0 '释放Ctrl键
    keybd_event - 函数功能
    函数功能:该函数合成一次击键事件。系统可使用这种合成的击键事件来产生WM_KEYUP或WM_KEYDOWN消息,键盘驱动程序的中断处理程序调用keybd_event函数。在Windows NT中该函数己被使用Sendlhput来替代它。

    函数原型;VOID keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtralnfo);
    

    keybd_event - 相关参数
    参数:

    bVk:定义一个虚据拟键码。键码值必须在1~254之间。
    
    bScan:定义该键的硬件扫描码。
    
    dwFlags:定义函数操作的名个方面的一个标志位集。应用程序可使用如下一些预定义常数的组合设置标志位。
    
    KEYEVENTF_EXETENDEDKEY:若指定该值,则扫描码前一个值为OXEO(224)的前缀字节。DEYEVENTF_KEYUP:若指定该值,该键将被释放;若未指定该值,该键交被接下。dwExtralnfo:定义与击键相关的附加的32位值。
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。