Probleme simualtion alt+enter

Résolu
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012 - 17 juil. 2004 à 03:21
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012 - 17 juil. 2004 à 20:30
Slt a tous, voila je voudrais simuler en visual c++ la combinaison de touche alt+enter je me suis donc interesse a la fonction SendInput voial mon code (si vous avez un moyen de le raccourcir il est le bienvenue ;)
J'ai remarque que la touche alt est bien simuler mais ca devrait bugger au niveau de la touceh enter pt etre le code n'est pas le bon.

INPUT touche_alt00, touche_alt01, touche_enter00, touche_enter01;
KEYBDINPUT touche_alt10, touche_alt11, touche_enter10, touche_enter11;

touche_alt10.wVk = VK_MENU;
touche_alt10.wScan = 0;
touche_alt10.dwFlags = 0;
touche_alt10.time = 0;
touche_alt10.dwExtraInfo = 0;
touche_alt00.type = INPUT_KEYBOARD;
touche_alt00.ki = touche_alt10;

touche_enter10.wVk = VK_RETURN;
touche_enter10.wScan = 0;
touche_enter10.dwFlags = 0;
touche_enter10.time = 0;
touche_enter10.dwExtraInfo = 0;
touche_enter00.type = INPUT_KEYBOARD;
touche_enter00.ki = touche_enter10;

touche_alt11.wVk = VK_MENU;
touche_alt11.wScan = 0;
touche_alt11.dwFlags = KEYEVENTF_KEYUP;
touche_alt11.time = 0;
touche_alt11.dwExtraInfo = 0;
touche_alt01.type = INPUT_KEYBOARD;
touche_alt01.ki = touche_alt11;

touche_enter11.wVk = VK_RETURN;
touche_enter11.wScan = 0;
touche_enter11.dwFlags = KEYEVENTF_KEYUP;
touche_enter11.time = 0;
touche_enter11.dwExtraInfo = 0;
touche_enter01.type = INPUT_KEYBOARD;
touche_enter01.ki = touche_enter11;

SendInput(1, &touche_alt00, sizeof(touche_alt00));
SendInput(1, &touche_enter00, sizeof(touche_enter00));
SendInput(1, &touche_enter01, sizeof(touche_enter01));
SendInput(1, &touche_alt01, sizeof(touche_alt01));

14 réponses

Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
17 juil. 2004 à 20:30
Ca y'est j'ai enfin trouve alors pour ceux qui veulent que leur consoel demarre en plein ecran voici le code :

#include <Windows.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
  keybd_event(VK_MENU,0x38,0,0); 
  keybd_event(VK_RETURN,0x1c,0,0); 
  keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0); 
  keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0); 
  
  printf("Ca y'est ca marche. hihihi \n\n");
  
  system("pause");
  
  return EXIT_SUCCESS;
}


2 jours pour trouver ca c affolant :) tout ca a cause de microsoft savent meme pas donner les codes bons pour microsoft les codes touches sont :

pour VK_RETURN ==>> 0x0d au lieu de ==>> 0x1c
pour VK_MENU    ==>> 0x12 au lieu de ==>> 0x38


Le jour ou il sauront faire qqchose sans bugs ah la la :D:D:D

A la prochaine sur le forum

++ Nexus
3
kornetmuse Messages postés 38 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 19 octobre 2010
17 juil. 2004 à 14:12
beuh on va dire qu'il n'y a pas d'erreur bete c deja ca :) sinon je c po t po obligé de faire le dernier sendInput en theorie... puiske t pas obligé d'attendre kil relache la touche alt.. mais bon sné k'un detail qui ne regleras surement pas ton problem :(
0
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
17 juil. 2004 à 15:02
Si Si le dernier sendinput est important car il relache la touche alt et je l'ai deja fait sans cette ligne mais ca faisai des catastrophes meme en fermant le programme la touche alt etait encore enfonce je pouyvais plus rien faire :'(
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 15:10
Methode de prog A BANNIR !!!
Mets un timer sur ta fenetre et tout ira bon et surtout proprement.

ciao...
BruNews, Admin CS, MVP Visual C++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
17 juil. 2004 à 15:18
Comment ca un timer excuse je suis un peu novice tu veux parler d'un Sleep mais a quoi cela servira pourrais tu m'envoyer un bou de code car je cherche ce probleme depuis pas mal de temps.

Merci bien ++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 15:28
Je parle de SetTimer(...) et en mode fenetre bien entendu, aucun besoin de Sleep.

ciao...
BruNews, Admin CS, MVP Visual C++
0
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
17 juil. 2004 à 16:38
Pourrais tu me filer un exemple si tu as le temps car je vois pas bcp j'ai ete sur msdn mais je vosi pas ou tu le met et est ce qu'il faut garder mon SendInput ???

Merci bcp pour ta reponse ++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 16:48
Enlever SendInput, des exemples de fenetres a foison dans les sources, miennes et autres.
Fais une recherche sur 'SetTimer' dans les sources.

ciao...
BruNews, Admin CS, MVP Visual C++
0
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
17 juil. 2004 à 16:58
Ouai masi ca utilsuie l'api windows moi ce que je veux faire c tout simple quand j'ouvre mon prog ca me met ma console en full-screen

++ Nexus
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 17:02
ok continue mais n'oublie pas que nous sommes a la mi 2004 deja.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
17 juil. 2004 à 18:40
j'ai pas suivit tout la conversation mais pour simuler l'appuie sur les touches, voila un bou de code:

keybd_event(VK_ALT, 0, 0, 0);
keybd_event(VK_ENTER, 0, 0, 0);
keybd_event(VK_ENTER, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_ALT, 0, KEYEVENTF_KEYUP, 0);

Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
17 juil. 2004 à 19:53
j'avais deja tester ces fonctions deja vk_enter n'existe pas c'est vk_return ; vk_alt ==> vk_menu

en clair ca donne ceci

keybd_event(VK_MENU, 0, 0, 0);
keybd_event(VK_RETURN, 0, 0, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);


masi ca ne marche pas non plus
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 20:06
VK_RETURN OK

ciao...
BruNews, Admin CS, MVP Visual C++
0
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
17 juil. 2004 à 20:10
je te donne les liens de msdn pour mon keybd_event je susi sur visual c++ (si tu ne le savais pas) :

Fonction keybd_event

Liste des codes touches

++ Nexus
0
Rejoignez-nous