![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Где хранить глобальные данные в 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]
> ), но это не очень удобный способ
Напротив, это очень удобный способ... Это вы просто не привыкли ;)