GetWindowText



  • HAllo,
    ich will den Text aus einem Editfenster einlesen.

    string gword;
                //hwndButton[0] ist das Handle zu dem Editfenster
                iLength = GetWindowTextLength(hwndButton[0]);
                GetWindowText(hwndButton[0], gword, iLength);
    

    Aber das geht nicht, wegen gword. Ich will das ganze aber unbedingt in einen string einlesen, wie geht das jetzt?

    MFG!



  • iLength kannst du dir eigentlich sparen, da der dritte Parameter von GetWindowText der Maximalwert an Buchstaben der in gword gespeichert werden kann festlegt. Setz mal eine Zahl ein, vielleicht geht es dann.



  • Nein, damit gehts auch nicht..



  • string gword;
    //hwndButton[0] ist das Handle zu dem Editfenster
    iLength = GetWindowTextLength(hwndButton[0]);
    gword.resize(iLength);
    GetWindowText(hwndButton[0], &gword[0], iLength);
    

    Ist aber a bissl dirty. Besser wäre:

    LPCWSTR gword;
    //hwndButton[0] ist das Handle zu dem Editfenster
    iLength = GetWindowTextLength(hwndButton[0]);
    gword= new LPCWSTR[iLength];
    memset(gword, 0 sizeof(LPCWSTR)*iLength);
    GetWindowText(hwndButton[0], gword, iLength);  
    delete gword;
    


  • memset mit sizeof auf einen Pointer?



  • cooky451 schrieb:

    memset mit sizeof auf einen Pointer?

    korrigiert, Flüchtigkeitsfehler.



  • Scorcher24 schrieb:

    cooky451 schrieb:

    memset mit sizeof auf einen Pointer?

    korrigiert, Flüchtigkeitsfehler.

    Passiert, aber da fehlt immer noch ein Komma 😃



  • Ich hab dich auch lieb 🕶



  • Scorcher, was haben die unterschiedlichen Variablen gword, gWord und qword in Deinem Quelltext für eine Bedeutung? Bei gword habe ich so gerade eine blasse Vorstellung, aber bei den anderen nicht so?



  • @Killur:

    //hwndButton[0] ist das Handle zu dem Editfenster
                iLength = GetWindowTextLength(hwndButton[0]);
                TCHAR *tmp = new TCHAR[iLength + 1];
                GetWindowText(hwndButton[0], tmp, iLength);
                string gword(tmp);
                delete tmp;
    

Log in to reply