Bonjour à tous,
Voici mon pb, je veux simuler l'action de la souris sur un logiciel afin de l'automatiser. J'ai trouvé sur Developpez.com ce code que j'ai appliqué :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
procedure Tform1.my_beautifull_prog;
 
var
hCible, hButton : HWND;
 
begin
winexec(pchar('C:\my_beautifull_prog.exe'),sw_show);
   application.ProcessMessages;
   sleep(2000);
 
hCible := FindWindow(nil, PChar('my_beautifull_prog')); //on retrouve le Handle de la fenêtre du programme
if hCible <> 0 then
begin
hButton := FindWindowEx(hCible, 0, nil, PChar('OK')); //on retrouve le Handle du bouton sur lequel on veux cliquer
if hButton <> 0 then
SendMessage(hButton, BM_CLICK, 0, 0); //on ( veut !) lui faire croire que l'on a cliqué dessus
 
end;
Le problème est que ce n'est pas un Button, c'est, d'après WinID ( logiciel comme Spy++), une image (le bouton !). Et bien sûr ça ne fonctionne pas !
En fait, le prog se lance, reconnaît la fenêtre, le bouton (image) apparaît et rien ne se passe: pas de clic simulé !
Comment faire ? Remplacer hbutton par quoi ? Ce hbutton n'est qu'un HWND, une image a-t-elle un HWND ? Que faire ?
Tout ça sous XP PRO, Millenium et avec ce cher Delphi 6 Perso ( ben oui !)

Merci pour vos réponses.
Phil