Форум: "Прочее";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];
ВнизПолучение текста из дочернего элемента(ListBox). Найти похожие ветки
← →
itsme (2010-01-13 14:27) [0]Доброго времени суток. Столкнулся с проблемой.... Имею чужое родительское окно, которое нахожу при помощи FindWindow, затем вытаскиваю из него хендл и при помощи FindWindowEx нахожу дочерний элемент с классом - PokerStarsChatClass.
Успешно получаю его хендл, но не могу вывести текст из него. На всякий случай проверяю получение хендла по классу при помощи GetClassName - все определяется верно.
GetWindowText должен выводить название - а его нет. WinSpy также показывает его отсутствие. Подсмотрел в интернете следующий код:
function LB_GetSelectedItem(hListBox: THandle): string;
var
Index, len: Integer;
s: string;
buffer: PChar;
begin
Index := SendMessage(hListBox, LB_GETCURSEL, 0, 0);
len := SendMessage(hListBox, LB_GETTEXTLEN, wParam(Index), 0);
GetMem(buffer, len + 1);
SendMessage(hListBox, LB_GETTEXT, wParam(Index), lParam(buffer));
SetString(s, buffer, len);
FreeMem(buffer);
Result := s;
end;
Выделяю в интересующем меня ListBox"e какое-либо значение - проверяю - снова пустота.
А вот то, что у меня на данный момент:
procedure TForm1.ListBox2Click(Sender: TObject);
var
Cs: Array[0..255] of Char;
Ts: Array[0..255] of Char;
NeWwnd:hwnd;
text:string;
begin
NeWwnd:=StrToInt(ListBox2.Items.Strings[ListBox2.ItemIndex]);
GetClassName(NeWwnd,Cs,255);
Edit3.Text:=Cs;
GetWindowText(NeWwnd,Ts,255);
Edit4.Text:=Ts;
text:=LB_GetSelectedItem(NeWwnd);
Memo1.Text:=text;
end;
← →
DVM © (2010-01-13 14:41) [1]
> GetWindowText должен выводить название - а его нет. WinSpy
> также показывает его отсутствие. Подсмотрел в интернете
> следующий код:
А с чего ты вообще взял, что контрол обязан реагировать на эти сообщения? У него в оконной процедуре может быть все что угодно, можно только гадать.
← →
itsme (2010-01-13 14:53) [2]Согласен, не подумал об этом.
Неужели нет никаких вариантов узнать текст внутри этого элемента?
← →
DVM © (2010-01-13 16:32) [3]
> Неужели нет никаких вариантов узнать текст внутри этого
> элемента?
внедриться в процесс породивший окно, попробовать пошерстить там контрол разными методами, может оконную процедуру его подменить.
← →
itsme (2010-01-13 16:43) [4]Большое спасибо за ответы:) Видимо придется оставить эту идею на некоторое время:)
← →
itsme (2010-01-14 16:22) [5]Апну тему... Все-таки судя по всему это необходимо. Готов предложить до 100$ (WebMoney/Яндекс деньги) за софт, который будет выдергивать данный из Run-Time логов клиента. Для тех кто не понимает о чем речь, вот скрин:
http://img18.imageshack.us/img18/4483/rtl.png
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c