Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.11.2011, 23:20
Cheb Cheb вне форума
Прохожий
 
Регистрация: 09.11.2011
Сообщения: 4
Репутация: 10
По умолчанию Как из DLL узнать дескриптор приложения

Есть прога. Она запускает DLL. Нужно получить заголовок приложения запустившего dll. Пробовал EnumWindows(@Callback), но это не подходит, находит приложение, но перебором. Проблема в том , что я заголовок точно не знаю.
Ответить с цитированием
  #2  
Старый 10.11.2011, 07:58
Zorkov Igor Zorkov Igor вне форума
Новичок
 
Регистрация: 28.07.2009
Сообщения: 85
Репутация: 50
По умолчанию

Я так понял в dll нужно получить заголовок приложения?

А из проги передать Handle в dll что мешает?
Ответить с цитированием
  #3  
Старый 10.11.2011, 09:54
Cheb Cheb вне форума
Прохожий
 
Регистрация: 09.11.2011
Сообщения: 4
Репутация: 10
По умолчанию

Да все верно, но из проги не получиться. Она не на делфи. Специфицеский язык программирования, умеет только функции импортировать из dll. Может есть какая WinAPI показывающая хэндл приложения которая запустила dll.

Последний раз редактировалось Cheb, 10.11.2011 в 09:58.
Ответить с цитированием
  #4  
Старый 10.11.2011, 15:28
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

GetCurrentProcess, потом можно найти окна этого процесса и взять нужное.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #5  
Старый 10.11.2011, 20:35
Cheb Cheb вне форума
Прохожий
 
Регистрация: 09.11.2011
Сообщения: 4
Репутация: 10
Смущение

GetCurrentProcess ? можете пример привести
Ответить с цитированием
  #6  
Старый 11.11.2011, 17:49
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

GetCurrentProcess в предыдущем посте - ссылка на MSDN. Там наиподробнейшее описание (хотя там описывать-то нечего).
Потом например перечисляем все окна (EnumWindows), смотрим у каждого его процесс (чего-нибудь вроде GetWindowThreadProcessID) и берем нужное.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #7  
Старый 11.11.2011, 19:25
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Лучше

GetModuleHandle

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:43.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025