Вниз
Скачать: CL | DM;

Где хранить глобальные данные в DLL?   Найти похожие ветки 

← →
Wolfram ©   (2005-11-08 22:37) [0]

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


← →
Джо ©   (2005-11-08 22:39) [1]


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

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


← →
Wolfram ©   (2005-11-08 22:43) [2]

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


← →
Джо ©   (2005-11-08 22:48) [3]

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


← →
Eraser ©   (2005-11-08 22:50) [4]


> Wolfram ©   (08.11.05 22:37)

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


← →
Wolfram ©   (2005-11-08 22:51) [5]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
14-1134039201
IAmDanil
2005-12-08 13:53
2006.01.15
Проверялка


3-1132100889
Silver...
2005-11-16 03:28
2006.01.15
TRIGGER ... Access


14-1135166865
konda
2005-12-21 15:07
2006.01.15
Глюк в Outlook Express


2-1135202723
Sound.OFA
2005-12-22 01:05
2006.01.15
"str" to "file of byte"


3-1132433132
Sword
2005-11-19 23:45
2006.01.15
Interbase не добавляет поле с пустой записью




   Наверх