ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 Modifié par ucfoutu le 6/01/2016 à 22:12
Bonjour,
le simuler où (sur quoi) ?
Car très différent selon le cas ...
La simulation peut même être impossible (ou quasi impossible) dans certains cas (intervention physique imposée par l'auteur d'une appli externe)
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
J'ai un programme vb6 qui pilote un très vieux jeu qui date du temps de Napoléon. (Développé en Dos ?)
Pour initialiser ce jeu avant de commencer une partie, il faut répondre à une bonne quinzaine de questions en cliquant sur des fenêtres comme celle indiquée ci-dessous:
- Français (OptionButton)
- Anglais (OptionButton)
- Continuer
Mon programme dans son état actuel
- Positionne le curseur sur l'option Français
- Effectue un premier click avec MouseEvent sur l'option --> Français
- Effectue un second click avec MouseEvent sur l'option --> Continuer.
Pour gagner du temps, je souhaiterais que mon programme VB6 effectue un double click uniquement sur l'option Français.
Je ne parlerais pas dans la suite des explications des temps de pause que je dois effectuer pour attendre l'affichage des fenêtres qui suivent.
Désolé, je programme uniquement pour passer le temps, je ne suis
pas technicien et, les quelques neurones qui me reste ne me permettent pas de résoudre les problèmes comme je le faisais lorsque j'avais vingt ans.
Encore désolé.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 Modifié par ucfoutu le 7/01/2016 à 20:12
Si ce jeu est écrit en DOS, il ne comporte aucune fenêtre Windows (et donc aucun handle de fenêtre susceptible d'être utilisé).
Tu ferais donc mieux d'abandonner une tentative de l'espèce.
EDIT : si ce jeu est écrit en DOS (en es-tu certain ?) , il est vraisemblable que le double click y est également rendu possible à l'aide de touches du clavier. Si tel est le cas, essaye donc d'envoyer ces touches à l'aide de l'instruction SendKeys de VB6 (on ne sait jamais ...)
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 7 janv. 2016 à 10:27
Oui, mais :
le simuler où (sur quoi) ?
Car très différent selon le cas ...
La réponse à cette question est absolument nécessaire.
Et si sur un contrôle d'une application externe, elle passe d'abord par la dation du focus à ce contrôle. Si tel est le cas, as-tu au moins résolu cette étape liminaire, avant même de parler de simulation d'un évènement souris ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 7 janv. 2016 à 12:37
Je n'ai jamais dit cela !
C'EST possible si, A LA FOIS :
- l'on sait relever le handle de la fenêtre contenant le contrôle sur lequel exercer la simulation et celui (le handle) du contrôle en question
- la dation du focus n'est pas subordonnée à l'existence d'une barrière de vérification (par l'auteur) de la manière de cette dation (physique nécessairement ou autre)
Sans vouloir vous vexer, je n'ai pas compris ce que vous essayez de m'expliquer.
J'aurais préféré une réponse du genre:
1) récupérer le handle de la fenêtre qui doit recevoir "le double Click
2) récupérer le handle ......
3) lancer l'api (s'il y a) qui génére le double click comme suit....
4) Etc
5)
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 Modifié par ucfoutu le 7/01/2016 à 19:11
C'est pourtant bien ce que j'ai dit.
Et encore ! Il m'a fallu traiter l'HYPOTHESE (puisque la précision n'a pas été donnée) d'une appli extérieure à celle devant déclencher un évènement souris !
Puisque cette HYPOTHESE semble enfin confirmée (il est temps !), il est on ne peut plus évident qu'on ne peut envoyer utilement un évènement souris n'importe où !
Il est donc nécessaire, avant tout autre geste :
- de déterminer le handle de la fenêtre de l'appli contenant le contrôle devant faire l'objet de cet évènement souris
- de déterminer le handle du contrôle devant répondre à cet évènement
Nous ne parlerons de la manière de déclencher un évènement souris (puisque tel était et le titre, et l'exposé succinct) qu'à partir du moment où cette étape a été franchie !
Et cette étape-là ne sera franchie valablement que sur la base de tous les tenants de l'appli lancée, sur laquelle intervenir. Il n'y a pas (il ne saurait y avoir) de solution universelle.
Et nous ne savons pour l'instant absolument rien de cette appli à "piloter". Nous ne savons même pas si elle se trouve sur le PC ou ailleurs !
Voilà tout !
Je crois que je vais abandonner là tout net mon intervention dans une telle fausse discussion.
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.