![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как изменить Handle
Alec © (2005-02-09 15:14:00)Есть некоторое приложение (не доступно для изменения), которое вызывает некоторую функцию RunForm(hnd:THandle) из моей DLL написанной на KOL. В DLL создается и показывается некоторая форма. Как можно присвоить этой форме указанный thandle? В VCL я просто переприсваивал его объекту Application. А в KOL как?
Alec (2005-02-10 08:43:00) [1]2Barlogg
Пишу плагин, и нужно чтобы окно DLL было дочерним для приложения (не появлялась еще одна кнопка в таскбаре)
2Денис
Спасибо, то что доктор прописал.
Денис (2005-02-10 01:54:00) [2]SetParent(kolform.handle,ParentHandle)
Barloggg (2005-02-09 16:48:00) [3]Ну, насколько мне известно, Thandle тебе выдает винда и нефиг его менять.
К нему можно подцепиться, чтобы за него таскать и измываться над уже запущенным окном. Но чтобы его менять.
Мое мнение: незачем.
Хмм... а ведь действительно, у VCL-ного application можно поменять handle. О! в дельфийском хелпе написано, что действительно, можно присваивать форме другой handle чтобы сделать эту форму частью другого приложения.
Тогда я корректирую свое мнение.
Мое мнение: никак. Похоже тебе единственому пришла такая идея в голову пользоваться этим.
Тем не менее без этого можно обойтись. Главное понимать зачем это делается. Это нужно для того, что сообщения посланные приложению попадали также и в эту Dll. И присвоенный handle позволяет например убить форму в dll вместе с основным приложением. Но ведь dll убивается виндой автоматически, как только винда решает, что эта либа больше никому не нужна.
И зачем тебе такие сложности? ломалку пишешь?