[RESOLU] Problème simulation clavier en c

Statut
N'est pas ouverte pour d'autres réponses.

leojacq

Nouveau membre
#1
Bonsoir à toutes et à tous !

Ayant un serveur minecraft je cherche à bidouiller des petits truc sympa (pas de haut vol) afin de faciliter deux trois petites choses.

Ici mon souhait est de créer un petit programme qui exécute à ma place la commande "stop" permettant l'arrêt du serveur.
Afin de rentrer dans la console je pense utiliser un simulateur de clavier qui taperait tout ça à ma place.
Je suis donc tombé sur ce site :
https://tcharles.developpez.com/simul/

J'ai tout bien compris (normalement ) et remis en oeuvre.

Or seule la tabulation marche et non les autres caractères ( si juste le 'à' quand je met '0')
Ma lettre de test est le s, j'ai donc essayé avec différentes écritures ('s',"s",0x73,VK_S) mais rien ne marche...

J'ai essayé aussi sur autre chose que la fenêtre serveur ( avec le bloc note) mais rien à faire c'est le même résultat...

Mon code:

SetForegroundWindow(FindWindow("Notepad",NULL));
Sleep(100);
keybd_event(VK_TAB,0,0,0);
keybd_event('s',0,0,0);
keybd_event(VK_TAB,0,KEYEVENTF_KEYUP,0);
keybd_event('s',0,KEYEVENTF_KEYUP,0);
return 0;

Je suis sen c sur Dev-C ++ dans l'application console
Help !
 

leojacq

Nouveau membre
#2
C'est bon, après des heures de test et de recherches j'ai trouvé ^^ Le sujet peut être clos je ne sais pas comment faire et si j'ai les droits, mon erreur était sur du c++ et non sur du c, mon programme final ressemble donc à ceci :
Met le bloc note en premier plan, fait tab, 's' 't' 'o' 'p' puis entrer :

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <winuser.h>



int main(int argc, char *argv[]) {

BYTE for_tab = 0x09;
BYTE for_enter = 0x0D;
BYTE for_s = 0x53;
BYTE for_t = 0x54;
BYTE for_o = 0x4F;
BYTE for_p = 0x50;
BYTE bScan = 0;
DWORD dwFlag = KEYEVENTF_KEYUP;
ULONG_PTR dwExtraInfo = 0;

SetForegroundWindow(FindWindow("Notepad",NULL));

Sleep(100);

keybd_event(for_tab,0,0,0);
keybd_event(for_s,0,0,0);
keybd_event(for_t,0,0,0);
keybd_event(for_o,0,0,0);
keybd_event(for_p,0,0,0);
keybd_event(for_enter,0,0,0);


keybd_event(for_tab,0,KEYEVENTF_KEYUP,0);
keybd_event(for_s,bScan,dwFlag,dwExtraInfo);
keybd_event(for_t,bScan,dwFlag,dwExtraInfo);
keybd_event(for_o,bScan,dwFlag,dwExtraInfo);
keybd_event(for_p,bScan,dwFlag,dwExtraInfo);
keybd_event(for_enter,bScan,dwFlag,dwExtraInfo);

return 0;

}
 
Statut
N'est pas ouverte pour d'autres réponses.
Staff en ligne
  • Basturbe
    Modérateur configopathe
  • MagicVitalic
    Modérateur
Membres en ligne
  • dedzix
  • PriceTF141
  • svoglimacci
  • Basturbe
  • MagicVitalic
  • cortez446
Statistiques globales
Discussions
864 282
Messages
8 046 469
Membres
1 574 781
Dernier membre
William563
Partager cette page
Haut