begin process at 2012 05 30 02:45:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

keybd_event ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

keybd_event ?

mercredi 22 juin 2005 à 15:52:12 | keybd_event ?

ncoder

Bonjour à toi lecteur,

Peux-tu m'expliquer ce problème là s'il te plait ?

Regarde, j'ai fait ce petit programme :

int main()
{
char rep[50];
printf("Texte : ");
gets(rep);
Tape(rep);

return 0;
}


void Tape (const char txt[30000])
{
Sleep(2000);
int x;
char lettre[3];
int i;

for (i=0; i<strlen(txt)+1; i++) {

strncpy(lettre, &txt[i], 1);

if (lettre[0]=='\n') x=10;
if (lettre[0]==' ') x=20;
if (lettre[0]=='0') x=30;
if (lettre[0]=='1') x=31;
if (lettre[0]=='2') x=32;
if (lettre[0]=='3') x=33;
if (lettre[0]=='4') x=34;
if (lettre[0]=='5') x=35;
if (lettre[0]=='6') x=36;
if (lettre[0]=='7') x=37;
if (lettre[0]=='8') x=38;
if (lettre[0]=='9') x=39;
if (lettre[0]=='a') x=65;
if (lettre[0]=='b') x=66;
if (lettre[0]=='c') x=67;
if (lettre[0]=='d') x=68;
if (lettre[0]=='e') x=69;
if (lettre[0]=='f') x=70;
if (lettre[0]=='g') x=71;
if (lettre[0]=='h') x=72;
if (lettre[0]=='i') x=73;
if (lettre[0]=='j') x=74;
if (lettre[0]=='k') x=75;
if (lettre[0]=='l') x=76;
if (lettre[0]=='m') x=77;
if (lettre[0]=='n') x=78;
if (lettre[0]=='o') x=79;
if (lettre[0]=='p') x=80;
if (lettre[0]=='q') x=81;
if (lettre[0]=='r') x=82;
if (lettre[0]=='s') x=83;
if (lettre[0]=='t') x=84;
if (lettre[0]=='u') x=85;
if (lettre[0]=='v') x=86;
if (lettre[0]=='w') x=87;
if (lettre[0]=='x') x=88;
if (lettre[0]=='y') x=89;
if (lettre[0]=='z') x=90;
if (lettre[0]=='*') x=107;
if (lettre[0]=='+') x=108;
if (lettre[0]=='-') x=109;
if (lettre[0]=='.') x=110;
if (lettre[0]=='/') x=111;
keybd_event(x,0,0,0);
keybd_event(x,0,KEYEVENTF_KEYUP,0);
}           
     
}


Tu as pu deviner que c'était pour simuler au clavier le texte envoyé à Tape().

Or, si je fais ceci : Tape("Bonjour");
Il simule "Bonjourr"...
Si je fais "Ciao"...

Tape() me simule toujours la dernière lettre 2 fois !

Pour quelle raison?

Merci à pour probables réponses...

mercredi 22 juin 2005 à 16:49:00 | Re : keybd_event ?

ricky78

Réponse acceptée !

Bonjour

Enleve le +1 dans ta boucle for

Qd tu tape "bonjour" ( 7 caracteres) ton for va de 0 à 7+1 donc 8, or comme il commence à compter à partir de 0 tu as 8 caractéres recopier au lieu de 7.

Tu connais surement en math les problemes de piquets et d'intervalle entre les piquets, c'est pareil



TOCHE

jeudi 23 juin 2005 à 15:12:09 | Re : keybd_event ?

ncoder

Exact !

Merci



Cette discussion est classée dans : int, lettre, tape, event, keybd


Répondre à ce message

Sujets en rapport avec ce message

Keybd_event dans DirectX [ par Hawatak ] Bonjour, Alors voilà, j'ai créé un petit programme qui simule l'appuie de certaines touches sur le clavier : #include #include #include #include prob de boucle 2!!!!!!! [ par matteokun ] matteokunvoila le code. si quelqu'un peut m'aider ca serait sympa...void Partie::ProposerLettre() { int Partie = 0; int Action = 0; int FinJeu = 0; in code:probleme de boucle!!! [ par matteokun ] matteokunvoila le code.si quelqu'un peut m'aider ca serait sympa! mercivoid Partie::ProposerLettre() { int Partie = 0; int Action = 0; int FinJeu = 0; Optimiser ce code... [ par MoDDiB ] Voila je m'entraine aux prologin mais voila je depasse la vitesse maximale pr exécuté le code, j'ai cherché amélioré etc.. et j'en suis arrivé au code Problème de réception de trames sous LabWindows [ par Crhys ] Bonjour, bonjour,je me présente, je m'apelles Christophe je suis tout nouveau sur ce forum et tout nouveau dans le Labwindows CVI ^^'.En effet, je sui probleme [ par jekburn ] #includeint main(){bonjour,je voudrais savoir pourquoi quand je tape 10, ça ne me met pas A, et en plus j'obtiens des carrés et d'autres formes, quand keybd_event [ par beb_aij_hi ] salut.j'essaye de simuler une frappe clavier avec keybd_event et il y a un truck qui m'echappe.voici un bout de code:#include #include int main(int ar keybd_event [ par Steph115 ] Bonjour,pour simuler une combinaison de touches (par exemple ALT+ENTRER) il faut utiliser cette fonction la : keybd_event(VK_MENU,0x38,0,0); keybd_eve blocage interface utilisateur [ par totoscill ] Bonjour,Je développe une application me permettant de piloter un outil avec labwindows CVI 8.5. J'utilise une interface utilisateur et une boucle whil Probleme morpion en SDL c++ [ par juju116 ] Salut tout le monde! j'expose donc mon souci pour l'instant mon programme affiche une image en fond d'ecran et bizarement cette image est bien chargé


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales