Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z SendMessage [WinAPI]


Gość Vosly_

Rekomendowane odpowiedzi

Opublikowano

Witam wszystkich mam problem otóż napisałem programik klikający [Launch] lecz niestety to nie działa proszę o pomoc

 

Kod:

        HWND Patcher = FindWindow(NULL, "Patcher");

        if(Patcher){

            SendMessage(Patcher, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(715, 82));
            SendMessage(Patcher, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(715, 82));

            cout << "OK" << endl;

        }

Pozycje sprawdzałem programikiem i według tego wszystko jest ok! i nie działa ;< [nie naciska]

 

ZA POMOC DAM LIKE

Opublikowano

Możesz ciskać myszą przy pomocy mouse_event:

 

#include <iostream>
#include <windows.h>

void activateWindow(HWND hWnd) {
    SetActiveWindow(hWnd);
    SetForegroundWindow(hWnd);
}

void moveMouse(HWND hWnd, DWORD x, DWORD y) {
    RECT windowRect;
    if (!GetWindowRect(hWnd, &windowRect)) {
        std::cerr << "Can't get RECT \n";
        return;
    }
    SetCursorPos(windowRect.left + x, windowRect.top + y);
}

void mouseLeftClick(HWND hWnd, DWORD x, DWORD y, DWORD pressDelay) {
    activateWindow(hWnd);
    moveMouse(hWnd, x, y);
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    Sleep(pressDelay);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}

int main() {
    HWND patcher = FindWindow(NULL, "Patcher");
    if (!patcher) {
        std::cerr << "Patcher not found \n";
        return -1;
    }

    mouseLeftClick(patcher, 715, 82, 100);
    std::cout << "ok\n";
}

YOU MUST DIE

- Ganon, Koridai

Opublikowano

Bardzo ci dziękuje :D

A te pozycje x i y są wg. ekranu czy programu?

Opublikowano

@ref

Niestety nie o to mi chodziło to przenosi kursor w pozycje a ja chcę aby wysyłało komunikat do np. przeglądarki o tym że został naciśnięty lewy przycisk myszy w podanej pozycji i tyle :/

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...