Witam,
Jest to mój pierwszy temat i z góry przepraszam za ewentualne niedomówienia. Uczę się c++ i troche winapi, moja wiedza jest mała dlatego niekiedy mam problemy nawet z prostymi rzeczami. Przechodząc do sedna tematu: ostatnio zaciekawiły mnie uchwyty i zdecydowałem sie ich pouczyc. Mój problem polega na otrzymywaniu tekstu z danego okienka za pomocą funkcji GetWindowText();
(pisze w dev++ lub BCB6 i programy okienkowe aby nie tracic czasu na pisanie okienek, robie w BCB) wiec zacznijmy od tego że w BCB zrobiłem sbie okienko o nazwie Form1 i w nim pole edit (tekst w polu edit="okno1") i to własnie tego okna chicałem sie uchwycic. w drugim programie wstawiam kod:
HWND hOkno=FindWindow(0, "Form1");
char *napis=new char[50]; //50 to prszykładowa wartosc bo znam długosc tekstu wiec nie uzywam GetWindowTextLength();
hOkno=GetWindow(hOkno, GW_CHILD);
GetWindowText(hOkno, napis, 51);
no i potem wyswietlenie zmiennej napis
gdy wywołam kod otrzymam tekst "okno1" lecz jeśli w działającym programie zmienie zawartosc edit na jaki kolwiek inny tekst i wywołam ponownie kod to znów otrzymam stary tekst "okno1"
Czy ktoś moze mi objasnic dlaczego tak sie dzieje?