IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

remplir les champs d'un exe à partir d'une autre application


Sujet :

WinDev

  1. #1
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut remplir les champs d'un exe à partir d'une autre application
    Bonjour,
    J'ai une application WinDev qui lance un exe WinDev et je voudrais remplir automatiquement des champs de mon exe avec PiloteSaisie par exemple mais je n'ai pas accès aux champs de mon exe.
    Est-ce-que quelqu'un à une idée?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut
    Vois l'aide sur LigneCommande, je pense que ça devrait te convenir.

  3. #3
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    Merci,
    si j'ai bien compris, il faut que je passe des paramètres en ligne de commande quand je lance mon exe. Pour ensuite utiliser LigneCommande. Mais je ne vois pas ce qu'il faut mettre comme paramètre?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut
    Dans LigneCommande je crois que tu peux passer ce que tu veux, si c'est bien une appli que tu veux lancer en la pré-remplissant (et pas remplir une appli déjà lancée), alors ça devrait te convenir

  5. #5
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    En fait, je veux lancer un exe et ensuite remplir les champs !
    C'est possible ou pas?

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    À mon avis oui, mais à condition d'avoir accès aux champs en saisie.
    Si l'application B ne permet pas la saisie (ce que j'ai compris), il ne sera pas possible de remplir des champs depuis l'application A.
    Si elle permet la saisie, où est l'intérêt ?

  7. #7
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    En fait je veux faire des tests fonctionnels. Donc je cherche à écrire une application qui lance un exe puis remplisse des champs (qui sont en saisie bien sur !) pour ensuite récupérer des résultats et voir si ils correspondent à ceux que l'on attendait.

  8. #8
    Membre confirmé
    Profil pro
    Freelance
    Inscrit en
    Avril 2003
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Avril 2003
    Messages : 393
    Points : 492
    Points
    492
    Par défaut
    Bonjour,
    Si vous voulez remplir automatiquement des champs, il faut retrouver le handle de la fenetre (FindWindow) et ensuite les handles des champs de saisies (Avec FindWindowExA je crois). Enfin, utiliser SetWindowText ou un SendMessage avec WM_SETTEXT pour remplir vos champs.
    Bonne journée
    Vincent

  9. #9
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    Je n'arrive pas à trouver le handle de mon exe.
    Quand je lance mon application, je peux appeler mon exe que je veux tester avec LanceAppli mais quand je fais Handle() il me renvoie de la fenêtre de mon appli et non de la fenêtre de mon exe.
    Voilà comment j'ai lancé mon exe :
    LanceAppli("""C:\...\Exe\ProjetTestAutoSousWinDev.exe", exeActif,Faux,"C:\...\Exe")

    Comment je peux faire pour prendre la main sur mon exe?

  10. #10
    Membre confirmé
    Profil pro
    Freelance
    Inscrit en
    Avril 2003
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Avril 2003
    Messages : 393
    Points : 492
    Points
    492
    Par défaut
    Bonjour,
    Il faut trouver le handle de la fenetre de ton autre exe avec l API FindWindow FindWindow ("le titre de ta fenetre",Null). La fonction handle ne fonctionnera QUE sur la fenetre de l executable lancant l'autre executable (ton 1er executable).
    Ensuite avec ce handle, il faut recuperer les handles de tes champs de saisies (je crois que c'est avec FindWindowEx mais la je ne suis pas certain) et utiliser une autre API pour leur envoyer du texte (SetWindowText ou SenMessage).

  11. #11
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    Quand je veux récupérer le handle de l'exécutable que je veux tester, cela me retourne 0.
    Voici le code que j'ai mis : "Formulaire" est le titre de ma fenêtre
    fen = API("user32","FindWindowA",Null,"Formulaire")

    Par contre si je fais la même chose en mettant le nom de l'application de départ
    fen = API("user32","FindWindowA",Null,"Logiciel de Test")
    Cela me donne bien le handle.

    Je ne comprend pas !

  12. #12
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    J'ai trouvé mon erreur, il fallait que j'attende que l'exécutable se lance. Il suffisait de faire Multitâche(10).
    Je ne connais pas les API et sous WinDev l'aide est un peu limitée ! Et sur le net, je n'ai trouvé des infos qu'avec du vb.
    Où est ce que je pourrais trouver de l'aide?

  13. #13
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    Bonjour,
    Je n'arrive pas à récupérer le handle d'un champ. Cela me renvoie toujours 0.
    Voici le code :
    //HandleExe est le handle de ma fenêtre.

    lpBName est chaîne ASCIIZ de 128
    lpBClass est chaîne ASCIIZ de 128
    lpBName="Nom" // Nom du champ de saisie
    lpBClass="Edit" // Class
    hdl est un entier
    nNumEdit est un entier long=API("user32","FindWindowExA",HandleExe,hdl,&lpBName,&lpBClass)
    Info("handle du champ "+hdl)


    Je renouvelle ma question pour trouver de l'aide sur les API en WinDev car l'aide sous WinDev n'est pas très détaillée !

  14. #14
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    As tu essayé une recherche de FindWindowExA sous google ?

  15. #15
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    Oui bien sur que j'ai regardé sur google !

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/02/2014, 15h59
  2. Remplir les champs d'un formulaire situe sur une autre page ouverte
    Par Dazdh dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/07/2009, 17h01
  3. Modifier les champs d'un formulaire à partir d'un autre
    Par ToTo13 dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/07/2007, 12h50
  4. Réponses: 8
    Dernier message: 04/07/2007, 18h41
  5. Recuperer les max des dates à partir d'une autre table
    Par inabil dans le forum Langage SQL
    Réponses: 8
    Dernier message: 20/11/2006, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo