Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с хэндлом [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)

Вообщето (я так думаю) хендл, это число (не в шесначатиричной системе)


Наверх

Титульная страница Поиск, карта сайта Написать письмо