本教程介绍如何利用VBA编程技术结合Windows API函数,向处于非活动状态的应用程序发送鼠标操作指令,实现自动化控制。
本附件使用Excel自带的VBA,并调用Windows API中的`mouse_event`函数实现了向前台程序发送按键和鼠标动作的功能;同时通过`sendmessage`函数实现向后台程序发送鼠标动作。具体做法是:先手动打开画图程序,然后切换回Excel并点击按钮即可在画图程序中绘制一个正方形图案。这对于希望学习如何将消息发送到后台程序的同学来说非常有帮助。
以下是声明的几个关键函数:
```vba
Private Declare Function SendMessage Lib user32 Alias SendMessageA (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function SetCursorPos Lib user32 (ByVal x As Long, ByVal y As Long) As Long
Public Declare Sub mouse_event Lib user32 (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
```