12.2 实现键盘模拟按键
本节将向读者介绍如何使用键盘鼠标操控模拟技术,键盘鼠标操控模拟技术是一种非常实用的技术,可以自动化执行一些重复性的任务,提高工作效率,在Windows系统下,通过使用各种键盘鼠标控制函数实现动态捕捉和模拟特定功能的操作。
键盘鼠标的模拟是实现自动化的必备流程,通常我们可以使用keybd_event()
实现对键盘的击键模拟,使用SetCursorPos()
实现对鼠标的模拟,使用两者的配合读者可以很容易的实现对键盘鼠标的控制,本节将依次封装实现,模拟键盘鼠标控制功能,读者可根据自己的实际需求选用不同的函数片段。
12.2.1 模拟键盘按键
模拟按键的核心功能是通过调用keybd_event()
函数实现的,如下是这段代码的完整实现,首先MySetKeyBig()
函数该函数用于设置键盘状态是否为大小写,用户可以传入一个状态值来设置当前输入法大小写模式,MyAnalogKey()
函数用于实现模拟键盘按键,该函数接收一个英文字符串,并自动实现击键操作,代码实现并不复杂,读者可自行测试功能。
|
读者可自行编译并运行上述代码片段,将光标移动到记事本中,等待五秒钟,则会依次敲击如下所示的键盘按键;
12.2.2 设置窗体最大化
如下代码实现了设置一个窗体置顶并将该窗体最大化显示的效果,该代码实现原理是通过使用EnumWindows
函数传递一个回调函数,实现对特定窗体的枚举,当找到对应窗体句柄后则将该窗体句柄传递给global_hwnd
全局句柄中,当获取到Google
浏览器句柄之后则通过GetSystemMetrics
函数得到当前全屏窗体的像素比,通过调用SetWindowPos
可将一个窗体设置为置顶显示,最后可调用SendMessage
函数向特定窗体句柄发送最大化消息,使其填充满整个屏幕,代码如下所示;
|
读者可自行编译并运行上述程序,此时会将谷歌浏览器全屏并置顶显示,输出信息如下图所示;
12.2.3 读取与设置剪辑板
读取与设置剪辑版可用于对数据的拷贝与设置,调用setClipbar
函数并传入一段字符串可实现将传入字符串拷贝到剪辑版的功能,使用getClipBoardValue
则可实现读取剪辑版中的内容到程序内。
|
运行上述程序,依次实现填充字符串并设置到剪辑版,最后再通过getClipBoardValue
函数从剪辑版内读出数据,如下图所示;