"Показать" терминал (WinAPI?)

 

Мелкая задача - терминал свёрнут, и надо из советника, программно его развернуть и показать пользователю.

В API MQL что-то ничего подобного не нашёл, возможно это только через WinAPI решается.

Подскажите, что надо понавызывать чтобы показать терминал ?

 
user32::PostMessageW(Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0)
 
fxsaber #:

handle - это надо ещё "родительское" окно искать ? то есть win Handle приложения ??

 

Спасибо, всё работает !

         #define WM_SYSCOMMAND                   0x0112
         #define SC_MAXIMIZE 0xF030
        
         long win;
         if (ChartGetInteger(chart,CHART_WINDOW_HANDLE,0,win)) {
            long parent=user32::GetParent(win);
            long tmp;
            while((tmp=user32::GetParent(parent)) && tmp!=parent ) {
               parent=tmp;
            }
            if (parent) {
               user32::PostMessageW(parent, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
            }
         }

тут chart - ид.любого чарта

 

нашлось ShowWindow, который стабильнее работает..

         #define SW_SHOWMAXIMIZED 3
         long win;
         if (ChartGetInteger(chart,CHART_WINDOW_HANDLE,0,win)) {
            long parent=user32::GetParent(win);
            long tmp;
            while((tmp=user32::GetParent(parent)) && tmp!=parent ) {
               parent=tmp;
            }
            if (parent) {
               user32::ShowWindow(parent,SW_SHOWMAXIMIZED);
            }
         }

в редких и невнятных случаях PostMessageW не срабатывает и не распахивает окно. А эта отрабатывает

Причина обращения: