|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.05.2010, 17:35 | #1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Не удаётся изменить переменную в ДЛЛ. Пошагово, она меняется. А при выходе из функции обратно
Ниже выложил код ДЛЛ. Хук ставиться при помощи SetKeyHook. Если посмотреть за SetKeyHook, то там хук ставиться и Active загоняется в True, но когда дело доходит до function KeyHook, то там Active уже false... Не понимаю, что не так...
Код:
|
22.05.2010, 18:13 | #2 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Вот что заметил: Active всегда true, но почему-то функция KeyHook думает, что он false. Заметил это так: в функции isActive дописал if Active then beep, а в таймере основной форме начал вызывать isActive. Всегда происходили бипы...
|
22.05.2010, 19:54 | #3 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Код:
Объясняю, во избежание матюков , ваша .dll загружается во все процессы (в их адресное пространство), таким образом когда вы вызываете IsActive или SetActive, вы меняете переменную только в вашем процессе, во всех других она остается прежней. Решение: смотрим и читаем статьи, как правильно создавать глобальные хуки и расшаривание памяти между приложениями |
22.05.2010, 20:03 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
BOBAH13, в принципе я ему обьяснил, но пусть для поиска будет
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
22.05.2010, 20:34 | #5 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
BOBAH13, спасибо) Пепел фенкиса мне сказал примерно тоже самое)
Сделал без Active, немного изменил код главного приложения. Наконец-то я доделал эту прогу=) А можно ссылку на расшаривание памяти в глобалных хуках? Гугл ничего не показал... |
23.05.2010, 11:10 | #6 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
p.s. не ну я же не видел что Вы ему объяснили |
|
23.05.2010, 11:48 | #7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
если они искать будут... Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Java скрипт, при наведении на карту она остается картой но картинка меняется | Dimazess | Помощь студентам | 6 | 14.03.2010 16:46 |
Ошибка при выходе из игры cs 1.6 | pavel42 | Компьютерное железо | 19 | 20.10.2009 21:00 |
Скрипт срабатывающий при выходе со странички. | valyan-t | JavaScript, Ajax | 0 | 30.09.2009 17:40 |
Как передать параметры функции в ДЛЛ????? | Zerone | Общие вопросы Delphi | 3 | 01.06.2009 09:27 |
Ошибка при выходе из ждущего режима. | С.М.С | Компьютерное железо | 2 | 08.03.2009 02:38 |