posto il sorgente che ho realizzato per fare le prove:
---------con sendinput:
#include<windows.h>
#include<winable.h>
main()
{
INPUT input;
KEYBDINPUT tasto;
unsigned int num_elem = 1;
int i;
system("start notepad.exe");
sleep(1000);
input.type = INPUT_KEYBOARD;
tasto.wVk = 'C';
input.ki = tasto;
for (i=0;i<10;i++) {
sleep(500);
SendInput (num_elem,&input,sizeof(INPUT));
}
}
---------e con keybd_event:
#include<stdio.h>
#include<windows.h>
main()
{
int i;
system("start notepad.exe");
sleep(500);
for (i=0; i<10; i++) {
sleep(500);
keybd_event( 'C', 0, 0, 0 );
keybd_event( 'C', 0, KEYEVENTF_KEYUP, 0 );
}
return 0;
}
i due sorgenti funzionano entrambi nel senso scrivono su notepad, office, ecc ma se durante l'esecuzione seleziono l'applicazione (il gioco) non succede nulla.......significa che il gioco "sente" l'input da dastiera da qualche altra parte...ma dove??