How to send keystrokes
Hello everyone!
In the summer I was a WoT maniac, so I started to develop an advanced WoT Bot. As I lost interest, the development has been stopped too.
The advantage of this bot was it's support for keystroke simulations. That means it could drive your tank and/or shoot. This reduces the possibility to get banned for botting/being AFK. As I see, there is no free bot with this function on MPGH yet, so hope after this little description there will be one or even more
Requirements:
- Knowledge of C++ (or C#)
- DirectX Keycodes(link
- Visual Studio 20xx (I used 2012)
- World of Tanks
IMPORTANT: SendKeys, SendMessage, PostMessage and functions like that won't work!!!
The main function we are going to need is SendInput
After you read the article about it on MSDN, go to the INPUT structure
Okay, now here is my code:
The retur thing is only for debugging, if you don't need it, just delete it.
And in main:
You can add timed things to it and mess around in the game's memory(to detect game-state, get coins value, get xp value etc.)
C# users will have to do some DllImports and work with IntPtr things. This kinda easier in C++, but that's only my opinion
Good luck with this!
In the summer I was a WoT maniac, so I started to develop an advanced WoT Bot. As I lost interest, the development has been stopped too.
The advantage of this bot was it's support for keystroke simulations. That means it could drive your tank and/or shoot. This reduces the possibility to get banned for botting/being AFK. As I see, there is no free bot with this function on MPGH yet, so hope after this little description there will be one or even more

Requirements:
- Knowledge of C++ (or C#)
- DirectX Keycodes(link
- Visual Studio 20xx (I used 2012)
- World of Tanks
IMPORTANT: SendKeys, SendMessage, PostMessage and functions like that won't work!!!
The main function we are going to need is SendInput
Code:
UINT WINAPI SendInput( _In_ UINT nInputs, _In_ LPINPUT pInputs, _In_ int cbSize );
Okay, now here is my code:
Code:
void SendKey(WORD wScan, DWORD dwFlags)
{
INPUT input[1];
input[0].type = INPUT_KEYBOARD;
input[0].ki.wVk = 0;
input[0].ki.wScan = wScan;
input[0].ki.dwFlags = KEYEVENTF_SCANCODE;
input[0].ki.time = 0;
input[0].ki.dwExtraInfo = 0;
UINT retur = SendInput(1, input, sizeof(INPUT));
if(retur > 0)
printf("Retur value: %i\n", retur);
else
cout << "RETUR ERROR - \n" << GetLastError() << endl;
}
And in main:
Code:
SendKey(DIK_ESCAPE, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_UNICODE); SendKey(DIK_ESCAPE, KEYEVENTF_KEYUP | KEYEVENTF_UNICODE);
C# users will have to do some DllImports and work with IntPtr things. This kinda easier in C++, but that's only my opinion

Good luck with this!