begin process at 2010 03 18 14:28:14
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Souris, Clavier, etc.

 > CONTRÔLER LES CONTRÔLES D'UN AUTRE EXE

CONTRÔLER LES CONTRÔLES D'UN AUTRE EXE


 Information sur la source

Note :
5,67 / 10 - par 3 personnes
5,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Souris, Clavier, etc. Niveau :Débutant Date de création :19/04/2004 Vu / téléchargé :6 444 / 910

Auteur : Kenavo

Ecrire un message privé
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

 Description

Pour continuer l'oeuvre de SiZIOUS que je salue (et à la suite d'un message sur le forum), je vous propose de voir comment modifier le texte d'un TEdit, la sélection d'un TCheckBox, TRadiobutton ou d'un TRadioGroup (comme si on cliquait dessus)
Le programme Simul est juste un fiche où sont placés les contrôles qui seront modifiés.
Le programme Demo modifie ces contrôles (en pas à pas on voit mieux)


 Conclusion

Il faut respecter majuscules/minuscules dans les textes des contrôles recherchés :(pas de UpperCase ou LowerCase).
Vous pourrez noter la différence entre PostMessage et SendMessage sur le bouton, dans un cas, (SendMessage), le programme est interrompu jusqu'à ce que le MessageBox soit refermé, dans l'autre cas (PostMessage) le programme continue à se dérouler). Dans le cas où on utilise SendMessage, le retour au programme n'a lieu qu'à la fin de la gestion de l'évènement OnClick du bouton choisi.
Je n'ai pas essayé sur tous les contrôles classiques, mais ça doit marcher aussi pour un Combobox (modification du texte).

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

RÉELS ET RÉALITÉ
Source avec Zip Source avec une capture WEBCAM À MANIVELLE
Source avec Zip Source avec une capture ACQUISITION VIDEO (WEBCAM, TV CARDS ...)
Source avec Zip Source avec une capture IMAGE EN FOND DE PANEL
Source avec Zip LE RÉSEAU MICROSOFT - LES FONCTIONS WNET

 Sources de la même categorie

Source avec Zip Source avec une capture DACTYLOGRAPHE par Bacterius
Source avec Zip Source avec une capture JETTER LES MESSAGES DANS "MESSAGE QUEUE" APRÈS UN LONG CODE par MAURICIO
Source avec Zip OBLIGER VISTA À CONFIGURER LE CLAVIER EN MINUSCULES par THYNOORD
Source avec Zip Source avec une capture NI CLIC NI TOUCHE par barbichette
Source avec Zip Source avec une capture PROGRAMME D'EDITION D'UNE PALETTE DE COULEURS par lgrfranck

Commentaires et avis

Commentaire de SiZiOUS le 21/04/2004 21:24:08

Finalement tu l'as fait, et je vois que ton exemple est cool ;)
Note : je suis pas seul a avoir fait ce petit prog!
JROD aussi :)

Commentaire de hendrix le 24/04/2004 22:32:40

Merci pour ce source (c'est moi qui ai posé la question dans le forum).

Je m'empresse de tester et surtout de comprendre :-)

Et encore bravo !

Commentaire de Filipe35 le 27/12/2004 18:22:49

merci pour cette source

Comment faire en sorte de vérifier que tout c'est bien passé ? En gros pour lire le contenu d'une editbox.

Fil

Commentaire de Kenavo le 28/12/2004 08:35:43

Pour vérifier (ou simplement lire) le contenu d'un TEdit, on ne peut pas utiliser la fonction GetWindowText, le TEdit faisant partie d'un process externe à notre propre appli. Il faut utiliser le message WM_GETTEXT  :

function LitTEdit(EditHandle : THandle) : string;
var
  p : PChar;
  i : Integer;
begin
  p := StrAlloc(256);
  i := SendMessage(EditHandle,WM_GETTEXT,256,integer(p));
  Result := String(P);
  StrDispose(p);
end;

Commentaire de Filipe35 le 28/12/2004 22:32:35

7/10 Bravo Kenavo !

Bonne source

Filipe

Commentaire de Filipe35 le 29/12/2004 16:05:57

Ptit bug,

Ton programme arrive à trouver les TEdit de simul car tu connais
leurs valeurs (.text) de départ:

  H3 := HandleOfChild(MH,'TEdit','',H2); // Ici ''  (3eme parametres)

Lors de la création de Simul (dans Delphi) lorsque je met par ex:
Edit1.text à 'Kenavo'  au lieu de ''
L'Edit1 ne sera pas modifier ! (les autres si car toujour '' )

Comment faire pour ne plus avoir ce problème ?
Car on ne connait pas dans la plupart des cas comment à été fait le prog externe.

Une solution ? Simple de préférence.

Filipe

Commentaire de Kenavo le 29/12/2004 16:35:18

Y a pas de solution vraiment simple, il faut énumérer les fenêtres et les contrôles fenêtrés, et essayer de s'y retrouver pour récupérer le handle du contrôle d'édition.
Tu peux t'inspirer de ce source : http://www.delphifr.com/code.aspx?id=16615

A+

Ken@vo

Commentaire de Filipe35 le 30/12/2004 22:47:26

Sinon sait tu ou je peux trouver une aide en francais
qui parle des handle, WM_Gettext, WM_copy...etc...

En solution compliké comment fodrait il faire ?

Filipe

Commentaire de Kenavo le 31/12/2004 09:11:02

Le tout est de retrouver le handle du Edit qui t'intéresse :
- Enumérer les fenêtres principales  : fonction EnumWindows
- Choisir la bonne (nom de la fenêtre) -> handle HndlMain
- Enumérer (récursivement) les controles fenêtrés enfants : fonction HndlChild:=GetWindow(HndlMain,GW_CHILD)
- Trier les TEdit  : fonction GetClassName(HndlChild,...,...)
- Trouver le bon !!!!!

ou utiliser un programme WinSight32 (fourni avec Delphi (?))  ou OpenForms et recopier la valeur du handle (qui est modifié à chaque exécution)

Pour l'aide en français, demande à Google !

Ken@vo

Commentaire de Filipe35 le 02/01/2005 15:24:16

Comme la source
http://www.delphifr.com/code.aspx?ID=16615

Il faudrait faire un mélange de ta source + la sienne.

??

Filipe

Bonne Ané

Commentaire de Filipe35 le 14/01/2005 19:09:22

Salut,

ce que je cherchais à faire c'est une source ki comme
son nom l'indique:

Controler une application externet par script.

Exemple:
tu fai un fichier text.txt comme suit:
  Fen: Calculatrice
  Bt  : 5
  bt : +
  bt : 2
  bt : entré

et tu fait LeProg.exe text.txt

et ca ferai sur la fenetre calculatrice, 5+2 entré

Filipe

PS: je chercher encore

Commentaire de Filipe35 le 15/01/2005 22:08:54

ca y ai j'ai trouver
après avoir chercher bocou !

la solution tien en 3 lettres = (nil).

je posterai ma source bientot.

Salut

Commentaire de Filipe35 le 17/01/2005 15:10:52

Salut,

voila j'ai poster ma source:
http://www.delphifr.com/code.aspx?id=28894

si ca t'interesses.

Filipe

Commentaire de kacola le 19/05/2007 15:10:53

Bonjour,
Je cherche à prendre le contrôle d'une application, mais j'ai juste un petit problème, je prends bien le contrôle des boutons, Tedit, mais je n'arrive pas à changer le texte d'un Combobox.
C'est un Combobox qui n'a le choix qu'entre 'Plateau' et 'Chargeur de documents' (c'est pour mon scanner)

J'ai essayé d'envoyer la key 'VK_Down'.
J'ai essayé d'envoyer le texte 'Chargeur de documents': SendMessage(ComboHandle,WM_SETTEXT,0,DWord(Pchar('Chargeur de documents')))
Mon 'ComboHandle' est bon (vérifié avec un autre prog).
Mais rien ne marche, il reste sur 'Plateau'!.

J'ai besoin de votre aide.

Kacola

Commentaire de cirec le 24/12/2007 10:31:39 administrateur CS

Salut,

pour TComboBox c'est un peut différent mais ça fonctionne :

Var S : String;
begin
  S := 'Item2';
  SendMessage(ComboBox1.Handle, CB_SELECTSTRING, -1 , LongInt(S));
end;

Je l'ai fait en locale mais ça fonctionne aussi sur une autre application

Et si c'est une TListBox :
  SendMessage(ListBox1.Handle, LB_SELECTSTRING, -1 , LongInt(S));

wParam définit à partir de quel index la recherche commence ...
  -1  signifie toute la liste

Commentaire de shell13010 le 17/02/2010 02:48:32

Salut,

J'aurais une question..

donc j'ai une fenetre qui a un Tedit mais sans bouton donc j'aurais aimer savoir si je pouvais simuler la touche "entrer"

malgrer que j'ai fait des testes toujours le meme problème.

Donc si vous auriez une idée sa serais bien de la partager.

merci d'avance

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,686 sec (3)

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