Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Посмотрите реализацию, например, StatementClose, которая пашет без проблем.
возможно... потому что вызов браузера идет из под мт4 и он его как родного воспринимает
а следоватеьно работать будет
--
можно поизголятся и открыть браузер до запуска мт4
а потом этим кодом попытаться его прикрыть
если получится будет интересно...
--
я же вызвал два разных приложения независимо
и кодом подтвердил что не работает
--
да и в общем если у Мирософта в документации написанно то я склонен верить
а если работает то
( как там говорят если на клетке с тигром написанно лев не верь глазам своим )
:-)
http://blogs.msdn.com/oldnewthing/archive/2003/08/21/54675.aspx
Видите, какие интересные перцы-
если в том же процессе- то они сами шлют WM_GETTEXT.
А если из другого процесса- то они будут доставать текст,
прикрепленный к окну через специальное хранилище,
и- как видите- для имен окошек это проходит, а для edit'ов- нет.
Спасибо за разъяснение нюанса!
Действительно, применял только для имен окон, поэтому код и работал для других приложений. Edit-ы не трогал.
можно поизголятся и открыть браузер до запуска мт4
а потом этим кодом попытаться его прикрыть
если получится будет интересно...
Имена окон других процессов считываются без проблем вышеназванным способом. Поэтому самостоятельное открытие браузера не повлияет на работоспособность кода - будет работать. Но вот с Edit-ами - нет.
Спасибо за разъяснение нюанса!
Действительно, применял только для имен окон, поэтому код и работал для других приложений. Edit-ы не трогал.
Не за что :-).
Помог- и сам в чем-то разобрался :-).Причем заметьте, WM_GETTEXT прекрасно работает.
А вот попытка достать текст из ListView при помощи LV_GETITEMTEXT
потребует нахождения в адресном пространстве приложения.
Народ выручайте! Напишите пожалуйста работающий пример кода на MQL4 для чтения Edit - чужого приложения с помощью SendMessageA . Два дня уже ковыряю и толку никакого.
Я так понял это не работает, что и как нужно исправить. В поиске ничего не нашел. Заранее спасибо!
Привожу работающий код:
Немного юникодовый, но у меня с 2006-ого всё юникодовое :-)Никак не пойму как это в MQL реализовать, хочется без внешних DLL, помогите пожалуйста рабочим примером.
Никак не пойму как это в MQL реализовать, хочется без внешних DLL, помогите пожалуйста рабочим примером.
Diamant:
Без внешних DLL - никак.
Видимо я все же неправильно выразил ход мыслей и то что требуется, я имел ввиду не использовать самописную DLL, те библиотеки что в винде уже есть их конечно можно и нужно использовать, других вариантов нет. Хочется реализовать с помощью библиотеки user32.dll и не делать свою.
Точнее у меня получает только первый символ получить и все.
А почему без внешней (самописной) никак ? В чем разница ? Уточните пожалуйста в чем суть проблемы.
И если уже действительно никак нельзя, то напишите пожалуйста пример функции на C++ для DLL в которую я передам дескриптор окна а она мне вернет текст поля Edit.