模拟窗口点击事件

  模拟窗口点击分为两步,第一先获取窗口句柄,第二根据实际情况对该窗口进行隐藏、键盘输入、鼠标点击等事件。

隐藏窗口

1
2
3
4
5
6
7
#include <windows.h>
int main()
{
HWND hwnd = FindWindowA(NULL, "Windows Remote Assistance");
if(hwnd)
ShowWindow(hwnd, SW_HIDE);
}

鼠标点击

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <windows.h>
int main()
{
HWND hwnd = FindWindowA(NULL, "Windows Remote Assistance");
if(hwnd)
{
ShowWindow(hwnd, SW_HIDE);
//发现窗口的控件
HWND Toolbar = FindWindowExA(hwnd, NULL, "ToolbarWindow32", NULL);
if(ToolbarWindow32)
{
//发现窗口的控件
HWND YES = FindWindowExA(hwnd, NULL, "Button", "YES");
//窗口设置到当前顶层窗口
SetForegroundWindow(YES);
//设置焦点
SetFocus(YES);
//发送点击事件
SendMessage(YES,BM_CLICK,0,0);
}
}
}

键盘操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <windows.h>
int main()
{
HWND hwnd = FindWindowA(NULL, "Windows Remote Assistance");
if(hwnd)
{
ShowWindow(hwnd, SW_HIDE);
//激活窗口
SetActiveWindow(hwnd);
//让窗口设置到当前顶层窗口
SetForegroundWindow(hwnd);
//设置焦点
SetFocus(hwnd);
//发送下移指令
pkeybd_event(39,0,0,0);
pkeybd_event(39,0,KEYEVENTF_KEYUP,0);
//发送Alt+E组合指令
pkeybd_event(18,0,0,0);
pkeybd_event(69,0,0,0);
pkeybd_event(18,0,KEYEVENTF_KEYUP,0);
pkeybd_event(69,0,KEYEVENTF_KEYUP,0);
}
}