实现的关键主要有两部分:一是通过句柄后台获得截图,二是通过句柄后台对窗口发送鼠标点击消息或者按键消息
关于通过窗口发送点击消息:
可用如下函数
SendMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, RightPoint);
SendMessage(hWnd, WM_LBUTTONUP, NULL, RightPoint);
LPARAM RightPoint = MAKELPARAM(627, 136); //x坐标,y坐标
其中hwnd是窗口句柄,RightPoint是以窗口左上角为(0,0)的坐标,注意按键都是配对的,先按下,再松开。
注意:大多系统需要管理员权限才能获取到截图
另外,貌似联想笔记本win7目前发现无法获取到截图,原因,我也不知道,哈哈!
20181202更新:(后面使用的opencv3,部分Mat的转换方式有所不同)
在 GetRegionMat 函数用于截图的部分,由于内存分配有opencv执行,需要手动释放内存,
其代码如下: