Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 21.12.2008, 19:26   #1
Altera
Одинокий кодер
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию Как получить handle главного окна, зная имя приложения?

Как получить handle главного окна, зная имя приложения?
Altera вне форума Ответить с цитированием
Старый 21.12.2008, 19:44   #2
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
Сообщение от Altera Посмотреть сообщение
Как получить handle главного окна, зная имя приложения?
Handle можно узнать так:
Код:
Procedure TForm1.FormCreate(Sender: TObject);
Begin
Edit1.Text:=IntToStr(Application.Handle);
End;
Или так:
Код:
Procedure TForm1.Button1Click(Sender: TObject);
Var
H: THandle;
Begin
H:=FindWindow(Nil,'Мой компьютер');
Edit1.Text:=IntToStr(H);
End;
Всегда рад помочь!

Последний раз редактировалось Terran; 21.12.2008 в 19:49.
Terran вне форума Ответить с цитированием
Старый 21.12.2008, 20:26   #3
Altera
Одинокий кодер
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Я имел ввиду имя приложения, а не имя класса.
http://s55.radikal.ru/i150/0812/6f/0ed296f84d6a.png
Altera вне форума Ответить с цитированием
Старый 21.12.2008, 21:02   #4
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Код:
FindWindow(nil, 'WindowTitle')
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 21.12.2008, 21:30   #5
Роман Радер
Форумчанин
 
Аватар для Роман Радер
 
Регистрация: 16.12.2006
Сообщений: 859
По умолчанию

Terran ведь ответил, все правильно.
если нет, то вопрос не конкретный...
Цитата:
Код:
Var
H: THandle;
Begin
H:=FindWindow(Nil,'Мой компьютер');
Edit1.Text:=IntToStr(H);
End;
вместо Мой компьютер - заголовок окна.
Роман Радер вне форума Ответить с цитированием
Старый 22.12.2008, 08:48   #6
Altera
Одинокий кодер
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

А если заголовок окна динамичный?
Я имел в виду имя приложения!
Код:
begin
  Application.Initialize;
  Application.Title := 'My program';
  Application.CreateForm(Tmain_form, main_form);
  Application.CreateForm(Tabout_form, about_form);
  Application.Run;
end.
Altera вне форума Ответить с цитированием
Старый 22.12.2008, 12:54   #7
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Это ИМЯ ОКНА! Просто в дельфовых приложениях до какой-то версии у формы 2 окна - собственно форма и кнопка панели задач. Application.Title - заголовок кнопки
пыщь
JTG вне форума Ответить с цитированием
Старый 22.12.2008, 17:53   #8
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Цитата:
Сообщение от Altera Посмотреть сообщение
А если заголовок окна динамичный?
Тогда перебирай все окна и через GetModuleFileName() находи окна нужных приложений.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 22.12.2008, 18:52   #9
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

ну если я все правильно понял то пиши так:
FindWindow('TForm1', 'application.title')
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как программно нажать Enter, зная Handle? MURDERER Общие вопросы Delphi 1 14.09.2008 23:00
Как зная ProcessID получить Handle главной формы? NikLik Win Api 3 30.07.2008 21:59
Как имея handle окна узнать handle edit-a который находится в етом окне SeRhy Общие вопросы Delphi 1 20.07.2008 12:48
закрыть все дочерни окна, кроме главного окна Worms Общие вопросы Delphi 2 03.12.2007 22:18
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? dimonchuk Общие вопросы Delphi 1 11.08.2007 11:13


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS