erzwungener Mausklick



  • Mit welchem Befehl lässt sich in der WinAPI ein Mausklick erwingen? Dass also an die Stelle eines "physischen" Klicks ein programmierter Klick tritt.



  • SendInput



  • herzlichen Dank



  • #include <windows.h>
    
    void press_L_MOUSE()                     //Mausklick
    {
        mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);  //L-Mautaste drücken
        mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);    //L-Maustate loslassen
    }
    


  • Oder so:

    double fScreenWidth = 800; //Die X Auflösung
    double fScreenHeight = 600; //Die Y Auslösung
    double fx = 383*(65535.0f/fScreenWidth); //Hier ist 383 die X Position an der der Klick erfolgen soll
    double fy = 264*(65535.0f/fScreenHeight); //Analog mit 264 für y

    INPUT ipSignal;
    ipSignal.type = INPUT_MOUSE;
    ipSignal.mi.dx = (long)fx;
    ipSignal.mi.dy = (long)fy;
    ipSignal.mi.mouseData = 0L;
    ipSignal.mi.dwFlags = MOUSEEVENTF_MOVE|MOUSEEVENTF_ABSOLUTE;
    ipSignal.mi.time = 0L;
    ipSignal.mi.dwExtraInfo = 0L;
    SendInput(1, &ipSignal, sizeof(ipSignal));
    Sleep(30);
    ipSignal.mi.dwFlags = MOUSEEVENTF_LEFTUP;
    SendInput(1, &ipSignal, sizeof(ipSignal));
    Sleep(30);


Anmelden zum Antworten