Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
1-73693
soware
2002-09-11 05:02
2002.09.23
Запуск программы ДОС


14-73814
Udjin
2002-08-26 08:41
2002.09.23
Интересную телегу мне прислали


1-73737
tytus
2002-09-11 16:50
2002.09.23
Stringgrid


6-73793
studentik
2002-07-20 03:24
2002.09.23
Детский вопрос


3-73577
Азазелло
2002-09-03 14:48
2002.09.23
Нормально ли работает Filtered у TClientDataSet?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский