Jak pobrać coś z listboxa z innego programu

0

Witam

Mam taki problemik i nie wiem jak sie do niego zabrac zabrakło mi pomysłów.

Pobieram sobie uchyty okien z innej aplikacji z formy która wyskakuje i jedno z okien typu CHILD jest listboxem i teraz nie wiem jak pobrać wartości elementów z tego listboxa. texty z okien których pobrałem uchwyty pobieram tak jak było na forum

chwyt_temp:=getwindow(uchwyt_temp,gw_child);
a potem
next_uchwyt:=getnextwindow(uchwyt_temp,GW_HWNDNEXT);

tyle ze to nie działa przy pobieraniu textu z listboxa

a potem
text:=NT_InternalGetWindowText(next_uchwyt);

Czy ktoś wie jak trzeba by to zrobić ?
pozdrawiam
Seba

//-------------------------------------------------------------------
function NT_InternalGetWindowText(Wnd: HWND): string;
type
 TInternalGetWindowText = function(Wnd: HWND; lpString: PWideChar;
  nMaxCount: Integer): Integer;
 stdcall;
var
 hUserDll: THandle;
 InternalGetWindowText: TInternalGetWindowText;
 lpString: array[0..MAX_PATH] of WideChar;
 oemStr: PChar;
begin
 Result  := '';
 hUserDll := GetModuleHandle('user32.dll');
 if (hUserDll > 0) then
 begin @InternalGetWindowText := GetProcAddress(hUserDll, 'InternalGetWindowText');
  if Assigned(InternalGetWindowText) then
  begin
   InternalGetWindowText(Wnd, lpString, SizeOf(lpString));
   Result := string(lpString);
  end;
 end;
end;
0

SendMessage i komunikaty: LB_GETCOUNT, LB_GETTEXT.

0

Witam dzieki za odpowiedz ale jak ma być zwrocony string ?
sendmessage daje wartosc BOOL
robie tak :
postmessage(uchwyt_okna,LB_GETCOUNT,0,0);

postmessage(uchwyt_okna,LB_GETTEXT,index, wpisać inf o adresie zmiennej string);
tylko cały czas wywala błędy ze uncompatible types
probowałem jako adres typ : point :TPoint
@str

Czy wiecie jak to dokładnie zrobić ?
pozdrawiam
Seba

Kopia z HELPA
LB_GETTEXT
wParam = (WPARAM) index; // item index
lParam = (LPARAM) (LPCTSTR) lpszBuffer; // address of buffer

0

Kiedyś coś takiego pisałem - wyciąganie z kontrolki Panelu Sterowania wszystkich zainstalowanych języków klawiatury. Przejrzyj kod źródłowy, zawiera dużo komentarzy - na pewno znajdziesz tam odpowiedź.

http://4programmers.net/file.php?id=1814

0

Dzieki przestudiuje w domu
pozdrawiam
Seba

1 użytkowników online, w tym zalogowanych: 0, gości: 1