Salut,

Voila je cherche à lire du texte dans les controles d'une fenetre (API win32).
Cela marche plutot pas mal, sauf qu'il n'arrive pas à lire quand il s'agit d'editbox !

J'utilise une fenetre d'un programme précédent que j'ai concu pour faire mes tests.

Voici la fenetre :


Voici ce que j'ai dans la console :


Voici mon code :
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
 
int main(int argc, char *argv[])
{
    HWND handleFenetre, handleControle[20] = { 0 };
    int idControle[20] = { 0 }, i;
    char textelu[20][100] = { 0 };
 
    handleFenetre = FindWindow(NULL,"Heberger une partie ..."); // On recupere le handle de la fenetre
    Sleep(100);
 
    printf("Handle fenetre = %d\n\n",handleFenetre);
 
    for (i=0;i<15;i++)
    {
        if(i==0)
        {
            handleControle[i] = GetWindow(handleFenetre,GW_CHILD); // On recupere le handle du sous-controle
        }
        else
        {
            handleControle[i] = GetWindow(handleControle[i-1],GW_HWNDNEXT); // On recupere le handle du sous-controle
        } 
 
        idControle[i] = GetDlgCtrlID(handleControle[i]); // On s'en sert alors pour recuperer son ID
        GetDlgItemText(handleFenetre, idControle[i], textelu[i], 100); // On lit le texte du controle grace à son ID
 
 
        printf("Handle controle %d = %d\n",i,handleControle[i]);
        printf("Id controle %d = %d\n",i,idControle[i]);
        printf("Texte ctl %d = %s\n\n",i,textelu[i]); // On affiche le texte
    }
 
  system("PAUSE");	
  return 0;
}
Donc comme vous pouvez le voir, je n'arrive pas à lire les controles editables!

Voyez vous mon erreur ?