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

[C++]Wysylanie klawisza do aplikacji


Rekomendowane odpowiedzi

Opublikowano

mam problem z wysylaniem klawisza do aplikacji, taki kod:


#include <iostream>
#include <Windows.h>
 
using namespace std;
 
int main()
{
        cout<<"dziala"<<endl;
        HWND fifa = FindWindowA(NULL, "FIFA 14");
        WPARAM wParam = 0x41;
        while(true){
 
                if(GetAsyncKeyState(0x4D)){    
 
                        cout<<"Wcisnales M [STRZAL]"<<endl;
                        SendMessage(fifa, WM_KEYDOWN, wParam , 0);
                        Sleep(300);
                        SendMessage(fifa, WM_KEYUP, wParam , 0);
                        Sleep(1000);
                }
                       
        }
        return 0;
 
}


nie wysyla mi klawisza 'a', ponizszy tez nie dziala:

#define WINVER 0x0500
#include <windows.h>
#include <iostream>
using namespace std;

int main()
{
    INPUT ip;


    while(true){

        if(GetAsyncKeyState(0x4D)){

            cout<<"WCISNALES [M] =>>> STRZAL\n";
            ip.type = INPUT_KEYBOARD;
            ip.ki.wScan = 0;
            ip.ki.time = 0;
            ip.ki.dwExtraInfo = 0;


            ip.ki.wVk = 0x41;
            ip.ki.dwFlags = 0;
            SendInput(1, &ip, sizeof(INPUT));

            ip.ki.dwFlags = KEYEVENTF_KEYUP;
            SendInput(1, &ip, sizeof(INPUT));
        }
        Sleep(500);
    }
    
    return 0;
}

wydaje mi sie, ze ta fifa ma jakies zabezpieczenie, albo binduje sobie klawisze, wnioskuje to po configu


AddController "Keyboard"
        AddMap SC_RIGHT VB_FE_LS_RIGHT
        AddMap SC_UP VB_FE_LS_UP
        AddMap SC_LEFT VB_FE_LS_LEFT
        AddMap SC_DOWN VB_FE_LS_DOWN
        AddMap SC_NUMPAD6 VB_FE_RS_RIGHT
        AddMap SC_NUMPAD8 VB_FE_RS_UP
        AddMap SC_NUMPAD4 VB_FE_RS_LEFT
        AddMap SC_NUMPAD2 VB_FE_RS_DOWN
        AddMap SC_ESCAPE VB_FE_CANCEL
        AddMap SC_RETURN VB_FE_SELECT
        AddMap SC_S VB_FE_X
        AddMap SC_D VB_FE_Y
        AddMap SC_X VB_FE_LB
        AddMap SC_C VB_FE_RB
        AddMap SC_W VB_FE_LT
        AddMap SC_E VB_FE_RT
        AddMap SC_Z VB_FE_L3
        AddMap SC_Q VB_FE_R3
        AddMap SC_F VB_FE_HELP
        AddMap SC_SPACE VB_FE_START
        AddMap SC_MULTIPLY VB_VOIP_TOGGLE_MUTE
        AddMap SC_SUBTRACT VB_VOIP_VOLUME_DOWN
        AddMap SC_ADD VB_VOIP_VOLUME_UP
        AddMap SC_W VB_AI_Y
        AddMap SC_D VB_AI_X
        AddMap SC_A VB_AI_B
        AddMap SC_X VB_AI_A
        AddMap SC_Q VB_AI_LB
        AddMap SC_Z VB_AI_RB
        AddMap SC_C VB_AI_LT
        AddMap SC_E VB_AI_RT
        AddMap SC_UP VB_AI_LS_UP
        AddMap SC_DOWN VB_AI_LS_DOWN
        AddMap SC_LEFT VB_AI_LS_LEFT
        AddMap SC_RIGHT VB_AI_LS_RIGHT
        AddMap SC_F3 VB_AI_L3
        AddMap SC_F4 VB_AI_R3
        AddMap SC_ESCAPE VB_AI_START
        AddMap SC_F VB_AI_BACK
        AddMap SC_HOME VB_AI_LDPAD_UP
        AddMap SC_DELETE VB_AI_LDPAD_LEFT
        AddMap SC_END VB_AI_LDPAD_DOWN
        AddMap SC_NEXT VB_AI_LDPAD_RIGHT
        AddMap SC_NUMPAD8 VB_AI_RS_UP
        AddMap SC_NUMPAD4 VB_AI_RS_LEFT
        AddMap SC_NUMPAD2 VB_AI_RS_DOWN
        AddMap SC_NUMPAD6 VB_AI_RS_RIGHT

SC_E to klawisz 'E', analogicznie reszta

dodam, ze jak jestem w fifie (odpalam w okienku, obok konsola) i klikam m, to wyswietla mi 'wcisnales m bla bla bla', ale nic nie robi

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...