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

API, COM et SDKs Delphi Discussion :

Recuper les items de ListBox d'une autre application [API?]


Sujet :

API, COM et SDKs Delphi

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Recuper les items de ListBox d'une autre application [API?]
    Bonjour, j'avais déjà posé ma question sur le forum il y'a de cela bien longtemps, malheureusement personne n'a pu ( ou peut etre n'a vu ) me répondre.

    Je souhaiterais récupérer les valeurs des elements contenus dans un ListBox d'une autre application que la mienne.

    Pour cela, je dispose de son Handle, ( récupéré via mon application ), il y' a t'il une fonction qui pourrait me permettre grace a la valeur du Handle de récuperer les items de ce ListBox ?

    Cordialement Shaman.

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 11
    Points : 12
    Points
    12
    Par défaut
    Salut !

    c'est assez facile de recuper le contenu d'un listbox si tu connais le handle.

    il faut utiliser la fonction sendMessage de l'api windows.

    voici une fonction qui te copieras tout le contenu du listbox vers un TStringList.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    procedure GetListBoxItems(hListBox:HWND, var StringList:TStringList);
    const MAX=255;
    var Buffer:PChar;
        i,ItemCount:integer;
    begin
         GetMem(Buffer,Max);
         ItemCount := SendMessage(hListBox,LB_GETCOUNT,0,0);
         for i:=0 to ItemCount-1 do begin
              SendMessage(hListBox,LB_GETTEXT,i,LPARAM(Buffer));
              StringList.Add(StrPas(Buffer));
         end;
         FreeMem(Buffer,Max);
    end;
    Bon developpement.

    kyle.
    Quand on veux, on peut !
    C'est juste une question de volonter

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    Et merci beaucoup je vais essayer ça immédiatement. Je ne connaissais pas les paramètres spécifiques au ListBox. :/

    ( Saurais-tu accessoirement ou je pourrais trouver une aide d'utilisation de la fonction SendMessage pour Delphi ? )

    Shaman.

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 11
    Points : 12
    Points
    12
    Par défaut
    quand tu installes delphi, il te fournit un fichier d'aide de 22Mo sur toutes les fonction Win32 API. SendMessage y est detaillé.

    le fichier d'aide se situe dasn ce repertoire normalement :
    C:\Program Files\Fichiers communs\Borland Shared\MSHelp
    et le fichier s'appelle Win32.hlp

    Bon developpement.

    kyle.
    Quand on veux, on peut !
    C'est juste une question de volonter

Discussions similaires

  1. Hook pour récupérer les messages windows d'une autre application
    Par Tuizi dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 07/12/2007, 15h30
  2. Stocker les Archived redo logs sur une autre machine
    Par ilalaina dans le forum Administration
    Réponses: 2
    Dernier message: 03/12/2007, 15h05
  3. Réponses: 3
    Dernier message: 26/09/2007, 14h34
  4. Réponses: 9
    Dernier message: 18/06/2007, 10h27
  5. Comment remplir les champs d'une autre application ?
    Par rico32fr dans le forum C++Builder
    Réponses: 6
    Dernier message: 19/06/2006, 08h54

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