Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
ВнизНайти application в сторонней программе Найти похожие ветки
← →
BFG9k © (2007-06-04 16:37) [0]Как мне найти Handle окна в программе, которое соответствует окну application в Delphi, не зная его названия и имени класса? То есть то окно, которое отображается в панели задач.
← →
DVM © (2007-06-04 16:40) [1]трудно найти то не знаю что
← →
DVM © (2007-06-04 16:41) [2]ты сам то понял, что написал?
← →
Loginov Dmitry © (2007-06-04 16:43) [3]> Как мне найти Handle окна в программе, которое соответствует
> окну application в Delphi, не зная его названия и имени
> класса? То есть то окно, которое отображается в панели задач.
У application класс окна фиксированный.
← →
clickmaker © (2007-06-04 16:45) [4]
> не зная его названия и имени класса?
Название - на кнопке. Класс выясняется с помощью Spy++ или Winsight
← →
BFG9k © (2007-06-04 17:42) [5]DVM: Главное окно, создающееся с помощью WinMain. Я понял, ты - нет, бывает ....
Loginov Dmitry:
> У application класс окна фиксированный.
Какой ? TApplication ? Даже у программ, не написанных на дельфи ? Я не говорю об именно application, в этом случае все было бы просто ....
← →
clickmaker © (2007-06-04 17:44) [6]
> Главное окно, создающееся с помощью WinMain
с помощью WinMain не создаются окна. Они создаются с помощью CreateWindow
← →
Style © (2007-06-04 17:54) [7]
> Как мне найти Handle окна в программе, которое соответствует
> окну application в Delphi
> Какой ? TApplication ? Даже у программ, не написанных на
> дельфи ?
BFG9k © (04.06.07 17:42) [5]
Ты уж определись что тебе нужно?
← →
Сергей М. © (2007-06-04 18:04) [8]
> BFG9k © (04.06.07 17:42) [5]
> Главное окно
В общем случае:
1. "Главным" окном может быть любое окно.
2. "Главное" окно не обязано быть видимым.
3. Невидимые окна не фигурируют в Панели Задач.
4. Видимые окна, фигурирующие в панели задач, не обязаны быть "главными".
← →
BFG9k © (2007-06-04 18:11) [9]Loginov Dmitry:
> У application класс окна фиксированный.
Только что выяснил, что это не так. Я имею в виду главное окно, а не именно application. Как угодно этот класс может называться. clickmaker :
Верно, и какое-то из окон приложения создается первым, является родительским для всех окон верхнего уровня приложения и т д. КАК ЕГО НАЙТИ ?!
← →
BFG9k © (2007-06-04 18:14) [10]Сергей М.:
> ...какое-то из окон приложения создается первым, является родительским
> для всех окон верхнего уровня приложения
Такое определение главного окна подойдет ?
← →
clickmaker © (2007-06-04 18:16) [11]
> [9] BFG9k © (04.06.07 18:11)
FindWindow()
← →
BFG9k © (2007-06-04 18:19) [12]clickmaker :
не известно ни имени окна, ни имени его класса .....
← →
Style © (2007-06-04 18:23) [13]
> Верно, и какое-то из окон приложения создается первым, является
> родительским для всех окон верхнего уровня приложения и
> т д. КАК ЕГО НАЙТИ ?!
В VCL приложении - первым создается окно класса TApplication. Это не MainForm.
Скорее всего для указателя этого окна GetParent() будет возвращать указатель на окно, которое было создано другим процессом.
Процесс можно узнать - GetWindowThreadProcessId функцией. По ProcessID можно и имя модуля узнать.
Вот я только одного не пойму - НАФИГА это надо?
← →
clickmaker © (2007-06-04 18:36) [14]
> [12] BFG9k © (04.06.07 18:19)
похоже мы зацикливаемся...
возвращаемся к [4]
← →
Style © (2007-06-04 18:39) [15]
> clickmaker © (04.06.07 18:36) [14]
Я думаю будет repeat....until; пока он не ответит на вопрос
"НАФИГА это надо?"
← →
Anatoly Podgoretsky © (2007-06-04 18:42) [16]
> BFG9k © (04.06.07 18:11) [9]
Ты уж определись что тебе нужно?
← →
Eraser © (2007-06-04 18:52) [17]> [0] BFG9k © (04.06.07 16:37)
> Как мне найти Handle окна в программе, которое соответствует
> окну application в Delphi
в программе на D2007 с опр. настройками это будет сделать проблемотично.
← →
BFG9k © (2007-06-04 19:21) [18]Style [13] : Первый дельный совет, спасибо.
Раз уж это уже в начинающих, то нафига это надо обьяснять нет смысла ....
← →
DVM © (2007-06-04 22:31) [19]
> BFG9k ©
Ты бы все-таки объяснил, зачем такое тебе нужно. Так ответят гораздо быстрее и по делу. А то получается, хочу найти, но не знаю что.
А если программа написана без использования VCL и нет там никакого TApplication, что тогда? Или одновременно запущено несколько програм в которых есть TApplication? Как отличать то их будешь?
Так, что давай подробнее...
← →
Германн © (2007-06-05 02:09) [20]
> BFG9k © (04.06.07 19:21) [18]
>
> Style [13] : Первый дельный совет, спасибо.
>
> Раз уж это уже в начинающих, то нафига это надо обьяснять
> нет смысла ....
>
Ну если столько людей ответивших на твой вопрос так и не смогли понять суть оного, так ес-сно его переместили в "Начинающие". А твоя "детская" обида ещё более подтверждает, что модератор был прав.
P.S. Перемещение в "Начинающие" нисколько не обидно. Никто не знает всего! Зато там не принято издеваться над авторами "непонятных" вопросов. Там либо помогаешь, либо молчишь.
← →
Сергей М. © (2007-06-05 11:34) [21]
> Такое определение главного окна подойдет ?
В общем случае - нет, не подойдет.
← →
Сергей М. © (2007-06-05 11:35) [22]
> является родительским
> для всех окон верхнего уровня приложения
У окон верхнего уровня нет родительского окна.
← →
Coco Chanel (2007-06-12 05:05) [23]Удалено модератором
← →
Mario_uq (2007-06-12 05:05) [24]Удалено модератором
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.043 c