SendInput() - Immer auf 0, 0



  • Hallo,

    ich habe ein Problem und zwar mit diesem Code:

    [code]
    void MouseClickL(int posx, int posy)
    {
        INPUT Mouse;
    
    	Mouse.type = INPUT_MOUSE;
    	Mouse.mi.dx = posx;
    	Mouse.mi.dy = posy;
    	Mouse.mi.mouseData = 0L;
    	Mouse.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE | MOUSEEVENTF_LEFTDOWN;
    	Mouse.mi.time = 0L;
    	Mouse.mi.dwExtraInfo = 0L;
    
        SendInput(1, &Mouse, sizeof(Mouse));
    
    	Mouse.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE | MOUSEEVENTF_LEFTUP;
    	SendInput(1, &Mouse, sizeof(Mouse));
    }
    [/code]
    

    Immer wenn ich diese Funktion dann aufrufe klickt sie auf 0, 0 ( links oben ) egal was als Parameter angegeben ist.

    Achja btw: Hab auch das alte DirectInput-Problem gibts da im Moment schon irgendwas neues wie Keyboard-Snapshot manipulieren, da mir dies eigentlich plausibel erscheint.
    ( siehe http://www.c-plusplus.net/forum/viewtopic-var-p-is-119524.html )?

    MfG RikuXan

    Edit: Die Version mit event kannte ich schon, wollte es nur auch mal mit SendInput probieren, aber anscheinend weiß niemand eine Lösung.



  • void click(int x, int y)
    {
        SetCursorPos(x, y);
        mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
        mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    }
    


  • Schluri schrieb:

    void click(int x, int y)
    {
        SetCursorPos(x, y);
        mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
        mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    }
    

    omfg, *_event-Prozeduren sind veraltet!


Anmelden zum Antworten