Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.23;
Скачать: CL | DM;

Вниз

По поводу получения handle   Найти похожие ветки 

 
Scaut   (2002-06-21 17:24) [0]

Здравствуйте мастера!
Подскажите, пожалуйста, как можно получить handle некоего control находящегося под курсором мыши...
И возможноли перекачать данные из dbgrid внешнего приложения в свой??? (можно не в DBGrid, а хотябы просто получить прочитать их в переменные)...
Если можно пример плиз...


 
Виктор Щербаков ©   (2002-06-21 17:41) [1]


> Подскажите, пожалуйста, как можно получить handle некоего
> control находящегося под курсором мыши...

Хэндл окна под курсором мыши можно получить с помощью WindowFromPoint.

> И возможноли перекачать данные из dbgrid внешнего приложения
> в свой

DBGrid не содержит данных. Он их отображает.


 
Scaut   (2002-06-21 17:53) [2]

Спасибо за handl...
А как тогда достать данные отображаемые в dbGrid (он находится в чужом приложении) ???


 
Scaut   (2002-06-21 17:56) [3]

Да и это получится handle окна или любого контрола находящегося в этом окне??


 
Cobalt ©   (2002-06-22 10:37) [4]

получится handle окна
А еще посмотри исходники DBGrid-а


 
Scaut   (2002-06-24 10:41) [5]

А как тогда всетаки получить handle некоего control (к примеру edit, ComboBox, Button )находящегося под курсором мыши?


 
Anatoly Podgoretsky ©   (2002-06-24 10:54) [6]

WindowFromPoint


 
Scaut   (2002-06-24 12:00) [7]

Cobalt >> А где можно взять эти исходники? Мож ссылочка есть? И неужели никто непробовал выдирать данные из других приложений прямо из формы из различных controlов типа edit, dbgrid, combobox....???? Насамом деле я DBGrid я привел как пример потому как в моем случае там какойто совсем другой компонент... Просто DBGrid помоему самый близкий к нему был...

Anatoly Podgoretsky >> Так ведь народ говорит что я таким образом получу только handle окна, а как тогда всетаки получить handle некоего control (к примеру edit, ComboBox, Button )находящегося под курсором мыши в этом окне?


 
Scaut   (2002-06-24 12:00) [8]

Если можно с примерчиками плиз....


 
Scaut   (2002-06-24 17:16) [9]

Ау народ помогите плиз.....


 
Anatoly Podgoretsky ©   (2002-06-24 17:26) [10]

А это и есть окна "(к примеру edit, ComboBox, Button )"


 
Игорь Шевченко ©   (2002-06-24 17:47) [11]

uses
Controls;
FindVCLWindow (const P : TPoint) : TWinControl


 
Cobalt ©   (2002-06-24 21:35) [12]

Исходники устанавливаются вместе с Дельфи ( конечно, если отметишь этот пункт при установке (тип установки - выборочный Custom(англ.), а еще желательно установить весь хелп)
И, когда подведёшь курсор к к.-л. компоненту, и ткнёшь F1, откроется окно справки, в котором увидишь что-то вроде:
TTable is a dataset component that encapsulates a database table.

Unit
dbtables

Description

Use TTable to access data in a single database table using the Borland Database Engine (BDE).

Это и есть имя модуля, в котором расположен исходник. Сами исходники (сурцы - сленг.) распологаются в папке "$Delphi\Source"
P.S.
>>Так ведь народ говорит что я таким образом получу только handle окна, а как тогда всетаки получить handle некоего control (к примеру edit, ComboBox, Button )находящегося под курсором мыши в этом окне?
Контрол - это только обёртка для окна, т.е. handle, который ты получаешь от контрола, на самом деле handle окна. К стандартным конотролам (т.е. те, которые на вкладках Standard components, Additional components, Win32 components ) можно обращаться через сообщения (см. хелп Win32 Programmer"s Reference).
Для передачи строк необходимо внедряться в адресное пр-во чужой проги(с помощью хуков) - это если использовать не стандартное сообщение WM_GETTEXT, а к.-нить другое, использующее текст.


 
Юрий Зотов ©   (2002-06-24 23:50) [13]

> Scaut

Короче, контролы - это тоже окна. Теперь ясно?

Правда, Delphi расширяет это понятие (вводит графические контролы), но WindowFromPoint всегда даст хэндл именно окна. Любого - хоть формы, хоть не формы, хоть контрола, хоть десктопа (десктоп - это тоже окно). Просто того окна, которое содержит указанную точку, вот и все.


 
Scaut   (2002-06-25 09:28) [14]

Все понятно большое санкс.....


 
cgbs   (2002-08-05 15:08) [15]

uses
Controls;
FindVCLWindow (const P : TPoint) : TWinControl;

begin
P:=getcursorpos;
label1.caption:=(FindVCLWindow( P ) as TEdit).text;
end;

антыресна сработает ли для подглядывания пароля в аутлуке/любом другом приложении (при условии что он набран, тока отображается зв:ездочками)?


 
Bachin ©   (2002-08-05 15:42) [16]

2cgbs (05.08.02 15:08)
в том виде как ты написал - конечно же нет!
сам подумай, откуда другое приложение знает, что такое TWinControl, еще и неизвестно с каких делфей! :)))


 
December24   (2002-08-05 16:08) [17]

То, что скрыто звёздочками, можно вытащить с помощью посылки сообщения WM_GETTEXT данному окну, но только под 98/95 (для MFC), а с Дельфийскими прогами всё ещё проще - такие "пароли" вытягиваются даже из-под НТ.
Только недавно всем этим развлекался...
Правда, я столкнулся с другой проблемой: если перехватывать мышу с помощью SetCapture/ReleaseCapture, то после одного мышиного клика сообщения уже не доходят до твоей проги... Обходить это было в лом, да и не надо - одного клика хватает :-}
Проверено на RAS и The Bat.



Страницы: 1 вся ветка

Текущий архив: 2002.09.23;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.012 c
3-73484
MsGuns
2002-08-30 18:47
2002.09.23
BatchMove глючит или я ?


1-73587
billybons
2002-09-12 09:00
2002.09.23
бегущая строка в статусбаре


4-73928
ИгорьК
2002-06-25 16:57
2002.09.23
Период бездействия юзера


1-73705
Pvk2002
2002-09-11 10:55
2002.09.23
Помогите с ToolButton !!!!


1-73671
Shoo
2002-09-13 09:42
2002.09.23
Одноразовая прога