C++模拟鼠标左键点击最小化程序

标签 c++ winapi simulation

我一直在寻找关于我遇到的这个特殊问题的一些信息,我希望能够模拟鼠标左键单击我当前连接的程序。

现在,我创建了一个线程来检查数据库中的某些值,当这些值返回时(我正在寻找的值),我希望能够在任何 x、y 中发送鼠标左键单击程序的坐标(最小化时)。

对于 Windows 7 如何做到这一点?谢谢!

编辑:这是我调用线程的方式...

HWND child = GetActiveWindow();
if ( child == NULL )
MessageBox(0,"Couldn't get the child hwnd!","",0);

DWORD ID;
HANDLE thread_check_game = CreateThread ( NULL , 0 , (LPTHREAD_START_ROUTINE) game_check_thread , (LPVOID)child, 0 , &ID ); CloseHandle ( game_check_thread );

然后……

DWORD WINAPI game_check_thread(LPVOID lpParam) {

HWND    Window;
Window = (HWND)lpParam;
// ... some other code ...
// ...
WORD mouseX = 398;
WORD mouseY = 398;


SendMessage(Window,WM_LBUTTONDOWN,MK_LBUTTON,MAKELPARAM(mouseX,mouseY));
SendMessage(Window, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(mouseX, mouseY));
Write("Sent Left Click\n");

ExitThread(0);
return 0;
}

最佳答案

如果您想在您的应用程序中触发鼠标事件,请使用SendMessage 函数,您的消息将出现在具有句柄hWnd 的消息泵的窗口中。

SendMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(mousePosX, mousePosY));

您可能需要通知 WM_LBUTTONUP,具体取决于您的应用程序处理其鼠标事件的方式。

关于C++模拟鼠标左键点击最小化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11950508/

相关文章:

for 循环中的 C++ 11 线程类成员函数给出段错误

c++ - cout << "\n"[a==N] 是什么意思?做?

c++ - C++中如何将整数转换为字符串

java - JNA - 读取多个按键

c++ - 究竟如何触发访问冲突异常

c - 如何开始编写图形 Windows 程序?

c++ - 为什么 GetServiceDisplayNameW() 和 GetServiceDisplayNameA() 在字符中返回不同的所需缓冲区大小?

simulation - 高层架构 (HLA) 与分布式交互式仿真 (DIS)

r - 在 R 中定义指数分布来估计概率

python - 抛硬币模拟意外概率