Как получить хэндл комбобокса в окне ордера? - страница 2

 
Aliaksandr Hryshyn #:

Эта функция не ищет в дочерних окнах, только верхний уровень

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-findwindowexw

FindWindowW всё ищет. Окно ордера, по всей видимости, не дочернее, а попап окно.

Помогли небольшие слипы...

 
Я дико извиняюсь. А что, можно получить значение указателя на что-то изнутри этого чего-то? 
 
Алексей Тарабанов #:
Я дико извиняюсь. А что, можно получить значение указателя на что-то изнутри этого чего-то? 

https://www.metatrader5.com/ru/releasenotes/terminal/1898

MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5
MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5
  • 2018.10.26
  • MetaQuotes
  • www.metatrader5.com
Теперь вы можете выносить графики финансовых инструментов за пределы окна торгового терминала. Это удобно при работе с несколькими мониторами. Например, на одном можно расположить основное окно платформы и следить за состоянием счета, а на другом — графики для оценки ситуации на рынке. Чтобы отделить график от терминала, отключите опцию...
 

Handle - указатель из внешней программы на свой дочерний объект. Для того, чтобы получить его в этом дочернем объекте, нужно сначала его туда передать. Непонятно, зачем. При любом его использовании - рекурсия, т.е. множественный вызов самой себя. 

 
Алексей Тарабанов #:

Handle - указатель из внешней программы на свой дочерний объект. Для того, чтобы получить его в этом дочернем объекте, нужно сначала его туда передать. Непонятно, зачем. При любом его использовании - рекурсия, т.е. множественный вызов самой себя. 

Так по-вашему Win32 интерфейсы вообще не должны работать ниоткуда...

 

А как найти следующее дочернее окно типа диалог (#32770)?

Пробовал так:

long first_child_wnd_handle=FindWindowExW(m_handle,0,"#32770","");
return m_next_child_wnd_handle=FindWindowExW(m_handle,first_child_wnd_handle,"#32770","");

Где m_handle - хэндл окна ордера, но никак не получается - всегда 0.

 
Алексей Тарабанов #:

Handle - указатель из внешней программы на свой дочерний объект. Для того, чтобы получить его в этом дочернем объекте, нужно сначала его туда передать. Непонятно, зачем. При любом его использовании - рекурсия, т.е. множественный вызов самой себя. 

У Вас такая путаница в голове.

 
leonerd #:

А как найти следующее дочернее окно типа диалог (#32770)?

Пробовал так:

Где m_handle - хэндл окна ордера, но никак не получается - всегда 0.

странно, получилось... мистика...

 
Koldun Zloy #:

У Вас такая путаница в голове.

Если Вы о том, что хэндл формируется в дочке, то я согласен. Вот только он не предназначен и не может быть корректно использован изнутри. Я только об этом. 

 
Алексей Тарабанов #:

Если Вы о том, что хэндл формируется в дочке, то я согласен. Вот только он не предназначен и не может быть корректно использован изнутри. Я только об этом. 

Абсолютно всё неправильно.

Ни в какой дочке хзндл не формируется.

О каком использовании изнутри Вы говорите, вообще не понял.

И дело даже не в том что неправильно.

У Вас какие-то абстрактные рассуждения, ***поймёшь о чём.