Reklama
Pokazuje wyniki od 1 do 5 z 5

Temat: [delphi] klikanie w dane współrzędne w danym oknie

  1. #1
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny [delphi] klikanie w dane współrzędne w danym oknie

    Siemka, tak sobie szukam i szukam i nie mogę znaleźć.
    W jaki sposób mogę zrobić klikanie lpm w dane współrzędne w danym oknie.
    Z tego co wiem, wykonać to możemy przez sendmessage, tak więc z tego co wyszperałem będzie to

    sendmessage(hwnd, MK_LBUTTONDOWN, .....)
    sendmessage(hwnd, MK_LBUTTONUP, ......)
    czy może postmessage?
    anyway, co dalej?
    załóżmy że chcę kliknąć we współrzędne x=100, y=100
    Kontakt ze mną:
    pw

  2. #2
    Avatar Tibiarz
    Data rejestracji
    2008
    Położenie
    Tibiantis
    Wiek
    4
    Posty
    16,027
    Siła reputacji
    27

    Domyślny

    W skrócie:
    Pierwszy argument to będzie handle do tego okna. Drugi to ten left/right button down/up, czyli twój komunikat. Trzeci ma określać czy jakiś wirtualny klawisz jest wciśnięty. Jeśli nie jest ci to potrzebne, to przy left button down daj 1, a przy left button up 0, dla right clicka daj 2 i 0. A czwarty to współrzędne w postaci 4-bajtowego unsigned inta, gdzie pierwsze 2 bajty to współrzędna x, a drugie 2 bajty to y (albo na odwrót, nie pamiętam). Możesz użyć do tego funkcji MAKELPARAM(x, y).

    Oba PostMessage i SendMessage będą działać. Różnica jest taka, że PostMessage umieszcza komunikat w kolejce komunikatów i od razu wraca, a SendMessage nie korzysta z kolejki, tylko powoduje bezpośrednio wywołanie danej procedury dla tego okna i dopiero po obsłużeniu komunikatu przekazuje zwróconą wartość. PostMessage zwraca BOOL (true jak się uda, false jak się nie uda), a SendMessage różne rzeczy, zależnie od komunikatu. Użyj PostMessage.

    e: Ten tag delphi jest w sumie niepotrzebny.
    Ostatnio zmieniony przez Tibiarz : 14-05-2014, 02:27

  3. Reklama
  4. #3
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny

    czyli najprościej mówiąc
    postmessage(hwnd, MK_LBUTTONDOWN, 0, MAKELPARAM(100, 100))
    postmessage(hwnd, MK_LBUTTONup, 0, MAKELPARAM(100, 100))

    ?
    jeszcze powiedz mi, czy okno musi być :
    1. na wierzchu, ale nie koniecznie aktywne
    2. aktywne
    3. może być zminimalizowane
    @tibia77 ;


    Cytuj tibia77 napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    e: Ten tag delphi jest w sumie niepotrzebny.
    racja ;p
    Kontakt ze mną:
    pw

  5. #4
    Avatar Tibiarz
    Data rejestracji
    2008
    Położenie
    Tibiantis
    Wiek
    4
    Posty
    16,027
    Siła reputacji
    27

    Domyślny

    @BBsrv ;
    Zamiast MK_LBUTTONDOWN daj WM_LBUTTONDOWN. No i w pierwszej linijce w tamtym parametrze miało być 1, a nie 0. Ten parametr określa czy coś ma być wciśnięte, a ma być wciśnięty lewy klawisz myszy, czyli 0x0001. Dla prawego to jest 0x0002. Ale do tego też są stałe i to jest właśnie chyba MK_LBUTTON i MK_RBUTTON. Można oczywiście wpisać ich więcej, jeśli chcesz np. zrobić kliknięcie z controlem albo shiftem (MK_CONTROL lub 0x0008 dla controla, shifta nie pamiętam). Przy zwalnianiu buttona już dajesz 0.

    Co do pytań, to okno może być nieaktywne i zminimalizowane, bo komunikat i tak się wyśle. Upewnij się tylko, że znajdujesz dobre okno, bo jak wcześniej zminimalizujesz, to różnie może z tym być. HWND bierzesz z FindWindow? No i pamiętaj, że te współrzędne są względne.

    Btw. polecam się zaopatrzyć w microsoft spy++ do zabaw z komunikatami i oknami. Jest w pakiecie w szerszych wersjach Visual Studio (w Express nie ma).

  6. #5
    Avatar Lord
    Data rejestracji
    2012
    Położenie
    benzyna po 5,19 mordo xDDDD
    Wiek
    29
    Posty
    10,446
    Siła reputacji
    18

    Domyślny

    @BBsrv ;

    Jak wroce do domu to ci podesle kod z bluebota

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Klikanie i zarabianie :P
    Przez ZvoS w dziale Prawo i finanse
    Odpowiedzi: 20
    Ostatni post: 31-07-2018, 03:48
  2. paladyn jakich broni używać na danym lvlu?
    Przez SilenT16 w dziale Tibia
    Odpowiedzi: 15
    Ostatni post: 04-06-2015, 19:10
  3. Odpowiedzi: 3
    Ostatni post: 22-05-2014, 22:48
  4. 2 paski w oknie Tibii
    Przez Lesny Buszmen w dziale Tibia
    Odpowiedzi: 10
    Ostatni post: 06-08-2011, 15:41
  5. Odpowiedzi: 10
    Ostatni post: 27-08-2009, 19:47

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •