Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.51 MB
Время: 0.043 c
2-1181721270
Nucer
2007-06-13 11:54
2007.07.08
Как правильно передать параметр функции


2-1181996528
nord489
2007-06-16 16:22
2007.07.08
ADOConnection


2-1181931418
nord489
2007-06-15 22:16
2007.07.08
Выделение записи в DBGrid


15-1181554954
Andy BitOff
2007-06-11 13:42
2007.07.08
Маленький чатик


3-1175946319
boristt
2007-04-07 15:45
2007.07.08
Перехват ошибки от MSSQL Express 2005 (dbExpress)





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