Как узнать все WindowHandle окон в терминале?

 

Добрый день.

Задача в узком рассмотрении: необходимо иметь возможность иметь несколько окон с одинаковым таймфремом и торговым

инструментом для индикатора Period_Converter_Opt.

В указанном индикаторе обновление графических данных окна находится в функции:

int UpdateChartWindow()
{
      static int hwnd = 0;
      
      if (FileHandle < 0)
      {     //no HST file opened, no need updating.
            return (-1);
      }
      
      if (hwnd == 0)
      {     //trying to detect the chart window for updating
            hwnd = WindowHandle(Symbol(), NewPeriod);
      }
      if (hwnd != 0)
      {
            if (IsDllsAllowed() == false)
            {     //DLL calls must be allowed
                  DebugMsg("Dll calls must be allowed");
                  return (-1);
            }
            if (PostMessageA(hwnd,WM_COMMAND,CHART_CMD_UPDATE_DATA,0) == 0)
            {     //PostMessage failed, chart window closed
                  hwnd = 0;
            }
            else
            {     //PostMessage succeed
                  return (0);
            }
      }
      //window not found or PostMessage failed
      return (-1);
}
Как видно: берется идентификатор первого найденного окна с подходящим ( Symbol(), NewPeriod ) и успешно через PostMessageA
перерисовывается окошко. Но вот как получить идентификатор второго окошка с таким же таймфреймом и торговым инструметом?
Задача в широком рассмотрении: как узнать все WindowHandle окон в терминале?

Большое спасибо, всем заинтересовавшемся.
Огромный почет тем, кто поможет делом!

 

Подрубите Dll- дальше можно энумеровать чайлдовые окошки и вытаскивать их тайтлы.

Внешнее приложение не сможет захватить текст.

 
jartmailru >>:

Подрубите Dll- дальше можно энумеровать чайлдовые окошки и вытаскивать их тайтлы.

Внешнее приложение не сможет захватить текст.

помогите, примером, пожалуйста.

 
jartmailru >>:
Подрубите Dll- дальше можно энумеровать чайлдовые окошки и вытаскивать их тайтлы.

посложнее, у окон графиков класс AfxFrameOrView, без тайтлов:(

 
alsu >>:

посложнее, у окон графиков класс AfxFrameOrView, без тайтлов:(

+5 !!!! не человег- монстр! ;-)

.

Так-так... не верю! Все там с тайтлами!


 
vedroid >>:

помогите, примером, пожалуйста.

чрез MFC да разрешатся проблемы

 
jartmailru >>:


Так-так... не верю! Все там с тайтлами!


ну да, только WindowHandle возвращает хендл не окошек Afx:4000000:b:10011:6:6047d, а графиков, которые на них нарисованы - AfxFrameOrView42, а они без тайтла.

 
хотя и у тех и у других одинаковый Parent, так что на него можно выйти и потом чайлдов перешерстить
 
alsu >>:

ну да, только WindowHandle возвращает хендл не окошек Afx:4000000:b:10011:6:6047d, а графиков, которые на них нарисованы - AfxFrameOrView42, а они без тайтла.

А кто сказал юзать WindowHandle ? :-) Мсдна на Вас нету. :-)

 
jartmailru >>:

А кто сказал юзать WindowHandle ? :-) Мсдна на Вас нету. :-)

в сабже написано WindowHandle, значит WindowHandle. Для решения задачи через мсдн предлагаю создать отдельную ветку:)))))))))))

 
alsu >>:

в сабже написано WindowHandle, значит WindowHandle. Для решения задачи через мсдн предлагаю создать отдельную ветку:)))))))))))

Не всегда вопрос содержит ответ ;-).
Причина обращения: