Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Где хранить глобальные данные в DLL? [D7, Win2k, WinXP]


Wolfram ©   (2005-11-08 22:37:00) 

У меня такая проблема: имеется DLL в которой я ставлю Hook для отлова сообщений от мыши. Вызывающая программа инициализирует некоторые переменные в этой библиотеке. Когда срабатывает ловушка, адресное пространство DLL отображается на АП процесса, сообщение которому перехватывается. Соответственно, эти переменные содержат уже другие значения. А мне же нужно, чтобы эти переменные были глобальны и не зависили от процесса у которого я перехватываю сообщения. Как это сделать?
Кажется, можно использовать отображение файлов в память (CreateFileMapping), но это не очень удобный способ. Должны же быть более простые решения.


Wolfram   (2005-11-08 22:51:00) [1]

Кажись, нашел: http://delphi.vline.ru/articles/hooks/index.html
Спасибо :)


Eraser   (2005-11-08 22:50:00) [2]


> Wolfram ©   (08.11.05 22:37)

http://kladovka.net.ru/download.cgi?id=195
В этом модуле применяется FileMapping.


Джо   (2005-11-08 22:48:00) [3]

Вообще, стоит искать статьи на тему Interprocess comunication (межпроцессной коммуникации). В принципе, вариантов немало, начиная с временных файлов (глупо) и заканчивая pipes. Куча вариантов, куча.
Просто mmf - один из самых простых и удобных.


Wolfram   (2005-11-08 22:43:00) [4]

А другого нет?
И, если можно, дайте, пожалуйста, ссылку на какую-нибудь статью, описывающую этот механиз.


Джо   (2005-11-08 22:39:00) [5]


> ), но это не очень удобный способ

Напротив, это очень удобный способ... Это вы просто не привыкли ;)


Наверх

Титульная страница Поиск, карта сайта Написать письмо