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

MFC Discussion :

Surveiller une TextBox d'une application


Sujet :

MFC

  1. #21
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int taille = GetWindowTextLength(hCalc);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int taille = SendMessage (hCalc, WM_GETTEXTLENGTH, 0, 0);
    et de la meme facon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetWindowText(hCalc,texte,taille+1);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendMessage (hCalc, WM_GETTEXT, taille+1, (LPARAM)texte);

  2. #22
    Membre actif
    Inscrit en
    Août 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 59
    Par défaut Bon, ça a l'air de presque vouloir... Seulement presque
    J'ai suivi les recommandations pour changer les deux lignes indiquées, mais j'ai toujours le même problème... Avec la taille de chaîne vide. Mais en fait, ça doit être normal étant donné que le handle qu'il me retourne (hApp) ne correspond pas au handle de mon contrôle...

    Après recherche dans Spy++, j'ai l'impression qu'il tombe sur l'arrière-grand père de mon handle, comme le montre la capture suivante :



    Comme j'ai pu obtenir un poste de test ayant ce logiciel et Visual Studio, j'ai profité du debug de Visual Studio pour faire quelques tests.

    Si je modifie la valeur de ce handle via l'edit in line, le programme s'exécute correctement et me récupère bien le bon champs de texte...
    Comment puis-je faire pour trouver réellement le bon handle de contrôle ?

    Merci d'avance pour votre aide.

  3. #23
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    normalement, tu ne peux pas tomber sur celui là si tu fais bien la comparaison avec le class name
    Le mieux est quand meme d'utiliser l'id, mais s'il est généré dynamiquement, c'est pas la peine
    Sinon, il faut voir en fonction de ce que contient ta fenetre, à la rigueur, mettre un marqueur si tu as accès au code

  4. #24
    Membre actif
    Inscrit en
    Août 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 59
    Par défaut Ca marche tout de suite mieux avec un debugger...
    En effet, ça fonctionne en fait, j'avais juste un if (strcmp... sans le ==0)...

    Maintenant, ça a l'air de marcher... Plus qu'à résoudre le problème de la création d'un service qui vérifie tout ça régulièrement...

    Je marquerai ce topic comme "Résolu" une fois que j'aurais pu tester le résultat en production.

    Merci beaucoup pour l'aide apportée

  5. #25
    Membre actif
    Inscrit en
    Août 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 59
    Par défaut Je me disais bien que c'était trop beau...
    Bon, ça a l'air de marcher... et j'ai transformé l'engin pour qu'il suive les évolutions... Plus qu'à arriver à en faire un service à la mode windows...

    Juste quelques problèmes car l'appli n'a pas toujours l'air de créer le contrôle...

    Et, comme le montre la précédente capture d'écran, il y a plusieurs élements du même type de classe que celui que j'essaie d'attraper... Bon, j'ai du bol pour le moment, on dirait que ce contrôle là est le premier énuméré s'il est affiché... Mais que se passera-t-il si ce n'est pas le cas ? Y aurait-il une solution pour éviter ces problèmes sachant que je ne peux pas modifier l'application de base ?

    Merci encore pour tout

  6. #26
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    et bien, si tous les contoles sont au meme niveau (c'est à dire, pas dans un group box ou quoi que ce soit pour les reperer), ca ne sera pas possible si l'ordre de création des controles est modifié.
    Mais normalement, ca ne se fait pas (sauf si c'est volontaire de la part de l'application)

  7. #27
    Membre actif
    Inscrit en
    Août 2005
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 59
    Par défaut Bon, ça marche !
    Juste un message pour dire que j'ai enfin pu tester en prod. et que ça marche...

    Tout ça pour qu'ils changent les spécs finalement & que la solution risque de ne plus être utilisable... pffff

    'fin bref, merci beaucoup pour les nombreux coups de main

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 2
    Dernier message: 31/10/2011, 11h45
  3. Bind d'une textbox d'une usercontrol sur une Dependency property
    Par Yogy dans le forum Windows Presentation Foundation
    Réponses: 11
    Dernier message: 27/04/2010, 05h26
  4. Pb copier une valeur d'une textbox vers une cellule
    Par whykiki dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/12/2007, 11h49
  5. Réponses: 2
    Dernier message: 18/12/2006, 19h04

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