Emulacja wciskania klawiszy (klawiatura i mysz)

0

Witam,

Od jakiegoś czasu szukam sposobu na prostą (i działająca) emulacje naciskania klawiszy klawiatury i myszy.
Nie chodzi mi p konkretne przykłady typu ctrl+c tylko ogólny uniwersalny kod pozwalający emulować naciskanie wszystkich klawiszy (łącznie z klawiszami myszy.

Jbc. Wystarczą same linki.

Będę wdzięczny za pomoc.

0

Może chodzi CI o funkcję keybd_event() ?

0

Funkcja keyb_event() jest już przestarzała. Użyj SendInput....
Przykład :

        INPUT input[2];
        memset(input, 0, sizeof(input));
        input[0].type = INPUT_KEYBOARD;
        
        input[0].ki.wVk = 65; // A
        input[0].ki.dwFlags = 0;
        input[0].ki.time = 0;
        input[0].ki.dwExtraInfo = 0;
        
        input[1].ki.wVk = 66; // B
        input[1].ki.dwFlags = KEYEVENTF_KEYUP;
        input[1].ki.time = 0;
        input[1].ki.dwExtraInfo = 0;
        
        SendInput(2,input,sizeof(INPUT));

To jest symulacja wciśnięcia klawisza a i b

Więcej informacji :

http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310%28v=vs.85%29.aspx
http://www.codeguru.com/forum/showthread.php?t=377393

0

Dzięki, to miałem na myśli.

Tak samo można obsłużyć mysz?

A skąd wziąć "numeracje" klawiszy???

0

Z myszą też się da podobnie... Później wkleję Ci przykładowy kod źródłowy :)
Rozumiem, że mówimy o platformie Windows...

0

Ja np. korzystalem z takiej funkcji

PostMessage(OknoGry,WM_RBUTTONDOWN,0,MAKELPARAM(Koordynaty.x+15,Koordynaty.y-10+(Nr_Osoby-1)*25));

Uchwyt okna, przycisk, wparam , lparam

ja uzywalem lparam

0

A znacie coś może do zapisania informacji ze schowka (liczba) do zmiennej int??? (coś w stylu ctrl+v tylko automatycznie)

0

Spróbuj : SetCursorPos(x, y);
http://msdn.microsoft.com/en-us/library/windows/desktop/ms648394%28v=vs.85%29.aspx
Tylko, że to nie jest emulacja myszki, a samo przesuwanie kursora...Aby była emulacja myszki użyj SendInput i zmodyfikuj parametry w strukturze :
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646270%28v=vs.85%29.aspx
INPUT_MOUSE 0 The event is a mouse event. Use the mi structure of the union.
Co do schowka tutaj masz duży tutorial....
http://msdn.microsoft.com/en-us/library/windows/desktop/ms649016%28v=vs.85%29.aspx

0

Dzięki, bardzo mi pomogłeś (co do schowka szczególnie).

1 użytkowników online, w tym zalogowanych: 0, gości: 1