簡體   English   中英

C ++模擬鼠標左鍵單擊最小化程序

[英]C++ simulate left mouse click on minimized program

我一直在尋找關於我遇到的這個特殊問題,我希望能夠模擬鼠標左鍵單擊我當前附加的程序。

現在,我創建了一個線程,檢查數據庫中是否有某些值,當這些值返回時(我正在查找的值),我希望能夠在任何x,y coord中發送鼠標左鍵。程序(盡量減少)。

如何為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 ,具體取決於應用程序處理鼠標事件的方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM