![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с хэндлом [D5, WinME]
MARcoDEN © (2002-06-10 20:21:00)С помощью WinSight узнаю хэндл окна: 00000F04. Так почему же компилятор ругается на строку
Sendmessage(00000F04, LB_GETTEXT, 0,0)?
Diamond Cat (2002-06-13 01:24:00) [1]видимо тебе надо найти дочернее окно, а findwindow обеспечивает поиск окон находящихся на верхнем z уровне, используй findwindowex, да и к стати если ты хочешь получить текст из этого окна то Sendmessage($00000F04, LB_GETTEXT, 0,0) тебе не поможет, не правильные Wparam & Lparam
Diamond Cat (2002-06-13 01:23:00) [2]видимо тебе надо найти дочернее окно, а findwindow обеспечивает поиск окон находящихся на верхнем z уровне, используй findwindowex, да и к стати если ты хочешь получить текстиз этого окна то Sendmessage($00000F04, LB_GETTEXT, 0,0) тебе не поможет, не правильные Wparam & Lparam
MARcoDEN (2002-06-12 09:07:00) [3]Но почему у меня ф-цией
FindWindow(PChar(TListbox), PChar("text"));
хэндл Listbox"a не находится? Точнее возвращается ноль.
короед (2002-06-11 15:33:00) [4]все правильно, надо
Sendmessage($00000F04, LB_GETTEXT, 0,0)
Но Handle окна при каждом запуске программы будет разный
лучше использовать ф-ции FindWindow, GetForeGroundWindow
Dimka Maslov (2002-06-11 09:38:00) [5]Perform(LB_GETTEXT, ....
Bsl (2002-06-11 08:02:00) [6]Если в Delphi, то у TWinControl компонента есть свойство Handle и он read-only, кроме того, то, что ты увидел в WinSight текущий Handle формы, когда ты запустишь свою поргу в следующий раз он станет другим (вообще-то в пределах одной сессии Windows вероятность повторения Handle =0).
Как правило своей форме нет нужды отправлять события через очередь - лучше пользовать соответствующую функцию класса (прямо сейчас не вспомню как ее зовут).
MARcoDEN (2002-06-11 07:27:00) [7]Ну и как мне его определить???
ATLANTIDO (2002-06-11 00:06:00) [8]Зачем тебе Winsight ? Сам определяй хэндл
antonp (2002-06-10 23:33:00) [9]Если я не ошибаюсь надо так
var
I:Pointer;
...
I:=Ptr($00000F04);
SendMessage(I,.......
Song (2002-06-10 22:29:00) [10]Проблем не будет, но и результата тоже :(
Raptor (2002-06-10 21:54:00) [11]2 MARcoDEN
Сделай так
Sendmessage($00000F04, LB_GETTEXT, 0,0)
и проблем не будет.
Doom (2002-06-10 21:32:00) [12]потому что 00000F04 - это хэнддл, который видит Winsight
а для твоей проги это уже другой хэндл.
вот такие дела
hooky-mars (2002-06-10 20:36:00) [13]
> MARcoDEN © (10.06.02 20:21)
Вообщето (я так думаю) хендл, это число (не в шесначатиричной системе)