VB 通过 user32 模拟击键
VB Simulate keystrokes via user32
我想像鼠标点击一样模拟击键,我偶然在网上找到了一些示例代码。
声明
Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4
Declare Function apimouse_event Lib "user32.dll" Alias "mouse_event" (ByVal dwFlags As Int32, ByVal dX As Int32, ByVal dY As Int32, ByVal cButtons As Int32, ByVal dwExtraInfo As Int32) As Boolean
模拟鼠标点击
Call apimouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
Call apimouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
以上代码即使在directx应用中也可以模拟鼠标点击。是否也有类似的方法来模拟击键?如果你能解释一下上面的代码是做什么的就太好了,因为我不太明白。
自然地,您可以使用 "keyboard events." 而不是使用 "mouse event" 消息。请查看 the keybd_event page at pinvoke.net 中的一些示例。
请记住,这些从字面上模拟用户在键盘上敲击按键,因此它们总是发送到具有焦点的控件 ('foreground')。如果您需要将特定的击键发送到隐藏或背景 windows,您正在寻找的是 SendMessage 相关函数。
我想像鼠标点击一样模拟击键,我偶然在网上找到了一些示例代码。
声明
Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4
Declare Function apimouse_event Lib "user32.dll" Alias "mouse_event" (ByVal dwFlags As Int32, ByVal dX As Int32, ByVal dY As Int32, ByVal cButtons As Int32, ByVal dwExtraInfo As Int32) As Boolean
模拟鼠标点击
Call apimouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
Call apimouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
以上代码即使在directx应用中也可以模拟鼠标点击。是否也有类似的方法来模拟击键?如果你能解释一下上面的代码是做什么的就太好了,因为我不太明白。
自然地,您可以使用 "keyboard events." 而不是使用 "mouse event" 消息。请查看 the keybd_event page at pinvoke.net 中的一些示例。
请记住,这些从字面上模拟用户在键盘上敲击按键,因此它们总是发送到具有焦点的控件 ('foreground')。如果您需要将特定的击键发送到隐藏或背景 windows,您正在寻找的是 SendMessage 相关函数。