Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
3-1220246663
Finjy
2008-09-01 09:24
2010.04.04
Закрасить строку в ListView


3-1234166667
keymaster
2009-02-09 11:04
2010.04.04
Работа с древовидными данными в FB


2-1264951167
Грелка 21 века
2010-01-31 18:19
2010.04.04
Программаная замена реального устройства


2-1265057348
Studdu
2010-02-01 23:49
2010.04.04
Наложение bmp на bmp


1-1247389218
dmitry_12_08_73
2009-07-12 13:00
2010.04.04
Прокрутка и копирование содержимого веб-страницы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский