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

Bot do gry - symulowanie klikania myszy


Rekomendowane odpowiedzi

Opublikowano

Witam,

 

Czy w aplikacji napisanej w c# istnieje sposób na symulowanie kliknięcia myszy  w danym miejscu na zminimalizowanej aplikacji(przeglądarce, kliencie gry)?

Potrzebuje tego by podczas działania bota była możliwość normalnego korzystania z komputera - nie chce się bawić w maszyny wirtualne.

Opublikowano

Co do aplikacji popatrz tutaj w tematach gdzieś widziałem bibliioteke do edycji kodu hex aplikacji. A przegladarke to mozesz sobie w prostu sposób obejść dodając do apki Webbrowsera i operując nim ;-)

hcq0.png


Opublikowano

Do klikania myszą używamy Sendmessage lub Postmessage.

 

Gotowe funkcje:

        public static void SendLClick(int x, int y)
        {
            if (x < 0 || y < 0) { return; }
            WinApi.SendMessage(Client.Tibia.MainWindowHandle, 0x0201, 0, MakeLParam(x, y));
            WinApi.SendMessage(Client.Tibia.MainWindowHandle, 0x0202, 0, MakeLParam(x, y));
        }
 
        public static bool SendRClick(int x, int y)
        {
            if (x < 0 || y < 0) { return false; }
            WinApi.SendMessage(Client.Tibia.MainWindowHandle, 0x0204, 0, MakeLParam(x, y));
            Thread.Sleep(50);
            WinApi.SendMessage(Client.Tibia.MainWindowHandle, 0x0205, 0, MakeLParam(x, y));
            Thread.Sleep(50);
            return true;
        }

MakeLParam:

        public static int MakeLParam(int LoWord, int HiWord)
        {
            return ((HiWord << 16) | (LoWord & 0xffff));
        }

Import

 

 

        public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
        [DllImport("user32.dll")]

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...