Почему на терминалах некоторых ДЦ не работает библиотека IdleLib.dll?

 

Кто сталкивался с проблемой. помогите! У меня работает уже несколько лет написанный мной советник... При попытке запустить его на ДЦ AveTRADER (http://avetrade.com/) перестал определяться код нажатой клавиши мыши, то есть, не работает библиотека IdleLib.dll. Не работает даже скрипт shablon.mq4 Суворова из Interception. Не определяется даже активное окно, не говоря уже о перехвате кода мыши...

Эту библиотеку я использовал уже пару лет и проблем не было. На других ДЦ (которые я ранее использовал) библиотека работает и сейчас, комп один и тот же. Разрешение подключения ДЛЛ, естественно, включено...

Кто сталкивался, скажите, в чем тут может быть дело?

 

У меня пару месяцев назад делал креш терминал FXCM при работе с стандартной WinInet.dll.

Не помогало даже переустановка терминала. (винду не трогал)

Потом как то его попустило. Сейчас отмечаю, что он стал работать с этой либой лучше остальных терминалов.

Думаю что это либо проблема в самом терминале (возможно надо переустановить), либо в программном окружении (антивирусы, винда с/без обновлений, всякие другие перехватчики событий, или недавно установленный софт и т.д)

 
NPV:

Кто сталкивался с проблемой. помогите! У меня работает уже несколько лет написанный мной советник... При попытке запустить его на ДЦ AveTRADER (http://avetrade.com/) перестал определяться код нажатой клавиши мыши, то есть, не работает библиотека IdleLib.dll. Не работает даже скрипт shablon.mq4 Суворова из Interception. Не определяется даже активное окно, не говоря уже о перехвате кода мыши...

Эту библиотеку я использовал уже пару лет и проблем не было. На других ДЦ (которые я ранее использовал) библиотека работает и сейчас, комп один и тот же. Разрешение подключения ДЛЛ, естественно, включено...

Кто сталкивался, скажите, в чем тут может быть дело?


dllка находит окна в имени которых содержится "MetaTrader". Практически все ДЦ оставляют его, добавляя свое название. Видимо этот ДЦ не посчитал нужным))
 
Avals:

dllка находит окна в имени которых содержится "MetaTrader". Практически все ДЦ оставляют его, добавляя свое название. Видимо этот ДЦ не посчитал нужным))

Недавно столкнулся с этим в Виндос 7. У меня МТ4 Альпари в заголовке "MetaTrader", а у тестера моего комплекса нет. Тот же ДЦ был. Не сразу понял почему моя библиотека не работает. Переделал на поиск окна по классу.

Увидел только, когда удалённого помощника подключили.

 
Avals:

dllка находит окна в имени которых содержится "MetaTrader". Практически все ДЦ оставляют его, добавляя свое название. Видимо этот ДЦ не посчитал нужным))

Так все же, какой выход? Ведь позиция мыши в окне определяется правильно, а перехват не работает...

Меня прежде всего интересует возможность перехвата кода нажатия клавиши мыши в окне, в котором установлен советник. Именно для этого и нужна библиотека IdleLib.dll.

 
NPV:

Так все же, какой выход? Ведь позиция мыши в окне определяется правильно, а перехват не работает...

Меня прежде всего интересует возможность перехвата кода нажатия клавиши мыши в окне, в котором установлен советник. Именно для этого и нужна библиотека IdleLib.dll.


код dll-ки менять. Она написана на Delphi. Если надо могу исходники скинуть
 
Avals:

код dll-ки менять. Она написана на Delphi. Если надо могу исходники скинуть

Буду признателен за код... Хотя я пока не понимаю, как связаны перехват кода нажатия мыши и название окна? Меня интересует только перехват - до окон можно добраться другими способами.
 
NPV:

Буду признателен за код... Хотя я пока не понимаю, как связаны перехват кода нажатия мыши и название окна? Меня интересует только перехват - до окон можно добраться другими способами.


не понял точно, что у вас определяет а что нет.

В приложении исходники.

Файлы:
idlelib.rar  2 kb
 

Насколько я понимаю, суть в том, чтобы избежать ложного срабатывания перехвата из других приложений, используется имя терминала.

В большинстве случаев это MetaTrader.

Однако в некоторых терминалах используются другие имена: SIGTrader, TeleTrader и др.

Ключевое слово здесь Trade. Изменил в исходнике в 3 местах имена с  MetaTrader на Trade.

Откомпилированная dll теперь работает практически во всех терминалах.

Однако обнаружил другую проблему. В тестере работает без проблем, а вот на счете даже demo, не работает.

Кто знает в чем тут дело? 

Файлы:
idlelib_1.rar  40 kb
 
Последние версии терминала не содержат в названии окна слово "Trader", нет ли какой-то переделки idlelib.dll, или другого способа читать клавиши из зацикленного скрипта?
 
Tovaroved:
Последние версии терминала не содержат в названии окна слово "Trader", нет ли какой-то переделки idlelib.dll, или другого способа читать клавиши из зацикленного скрипта?
Не прошло и пяти лет...!