Форум: "WinAPI";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];
ВнизПо поводу получения 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.009 c