| imho.ws |
![]() |
|
|
|||||||
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
|
|
# 2 |
|
Guest
Сообщения: n/a
|
Если exe и dll ты сам пишешь, то:
1) если они находятся в одном процессе то проще всего сделать в dll експортируемую функцию корую вызывать из ехе и передавать ей значение переменной 2) если они находятся в разных процессах то можно использовать memory mapped files, т.е. в виртуальной памяти создается блок который доступен из любого процесса. Туда и записывай свою переменную. |
|
|
# 3 |
|
Advanced Member
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498
![]() ![]() ![]() ![]() |
А не проще сделать в ДЛЛке геттер и сеттер нужной переменной синхронайз методом в самой ДЛЛ и из экзешника дергать этот метод передавая значение переменной? или ты хочешь из чужой программы дернуть переменную?
|
|
|
|
|
# 4 |
|
Banned
Регистрация: 06.11.2004
Сообщения: 135
![]() ![]() ![]() |
/7y3uK
Хочу из своей. Это мне нужно было чтобы dll могла отслеживать видимость окна: эта переменная в событиях OnShow и OnHide менялась бы. Но судя по вашим ответам вижу, что лучше использовать WinAPI функцию для проверки видимости окна
|
|
|
|
|
# 5 |
|
Advanced Member
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498
![]() ![]() ![]() ![]() |
какие проблемы... просто при старте процесса в длл-ку приходит дескриптор окна (читай: пишем сеттер из программы в переменную длл
засовываем DC и HANDLE)... а дальше длл-ка будет мониторить все что связано с этим окном (дескриптором) - именно по API теперь очень легко найти нужное окно и сделать с ним усе что угодно...Вообще такие вещи ХУКами называют и для этого удобно использовать обычный ХУК (хотя обычно ими стараются не пользоваться), зато гарантированно будет работать... читай про HOOKS
|
|
|