vieuxpere
Messages postés195Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention17 décembre 2014
-
3 déc. 2007 à 16:35
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 2012
-
4 déc. 2007 à 01:21
Aprés avoir trouvé le handle d'une fenetre sur lequel il y a deux boutons, je veux simuler un clic sur le deuxieme bouton, pour ce faire je dois donc simulerTab + Entrée.
Voici ce que je fait mais ça marche pas, avez-vous une autre idée ?
<ol><li>SendMessage(handle, WM_KEYDOWN, VK_TAB, 1);
</li><li>SendMessage(handle, WM_KEYDOWN, VK_RETURN, 1);</li></ol>merci de votre aide.
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 4 déc. 2007 à 01:21
// Attention espace à la fin !!!!
// Voilà une raison de plus de ne pas utiliser cette méthode
MonHandle := FindWindow('SALSUBFRAME', 'OpenOffice.org 2.1 ');
// Mise au premier plan de la fenetre
Windows.BringWindowToTop(MonHandle);
// petit délai
sleep(20);
// Simulation appui de la touche I du "ignorer"
PostMessage(MonHandle, WM_CHAR, ord('i') ,0);
P.S. Comme je te l'ai dit sur l'autre post, je désapprouve totalement cette méthode, mais si elle te convient ...
Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
vieuxpere
Messages postés195Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention17 décembre 2014 3 déc. 2007 à 18:24
Merci de ta réponse mais apres avoir etudier le source est extrait le code qui m'interesse , je viens de me rendre compte que les boutons ont le meme handle que la fentre qu'il contient donc impossible en théorie d'attaquer directement le bouton qui m'interesse, voici le code que j'utilise :
monhandle5 := FindWindow(nil, PChar(UpperCase('OpenOffice.org 2.0 '))); //Retrouve le Handle de la fenêtre principale
Showmessage(IntToStr(monhandle5));
vieuxpere
Messages postés195Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention17 décembre 2014 3 déc. 2007 à 21:08
Merci de votre aide, mais le probleme c'est que la fenetre sur lequel je souhaite cliquer sur son bouton Ignorer à le même handle que son bouton, il faudrait donc que je mette le focus dessus la fenetre et que je fasse TAB + Entrée pour que ca puisse marcher.
Probleme je sais pas comment faire.
Si quelqu'un à une idée ...
PS : La fenetre qui à le même handle que ses boutons, c'est la demande d'enregistrement d'Open Office 2 quand on veut sortir sans avoir enregistrer
Vous n’avez pas trouvé la réponse que vous recherchez ?
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 3 déc. 2007 à 21:46
"le probleme c'est que la fenetre sur lequel je souhaite cliquer sur son bouton Ignorer à le même handle que son bouton"
c'est possible ca?
essaye avec spy++ ou winsight pour etre sur, mais pour moi, c'est pas possble que 2 objets aient le meme handle