Окно терминала свёрнуто/развёрнуто

 
В mql5 нет такой функции, чтобы это определить, как это сделать с помощью user32.dll?
 
Andrei Iakovlev:
В mql5 нет такой функции, чтобы это определить, как это сделать с помощью user32.dll?

Буквально вчера ещё было

https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_is_maximized

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
Примеры работы с графиком - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vitaly Muzichenko #:

Буквально вчера ещё было

https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_is_maximized

Я спрашиваю про окно терминала, а не графика.

 
Andrei Iakovlev #:

Я спрашиваю про окно терминала, а не графика.

#include <WinAPI\WinAPI.mqh>
#define TOSTRING(A) #A + " = " + (string)(A) + " "
//+------------------------------------------------------------------+
void OnStart()
  {
   long Handle = GetAncestor(ChartGetInteger(0, CHART_WINDOW_HANDLE), 2);

   uint last_showCmd = 0;
   WINDOWPLACEMENT st;

   while(!IsStopped())
     {
      GetWindowPlacement(Handle, st);
      if(last_showCmd != st.showCmd)
        {
         Print(TOSTRING(st.length));
         Print(TOSTRING(st.flags));
         Print(TOSTRING(st.showCmd));
         Print(TOSTRING(st.ptMinPosition.x));
         Print(TOSTRING(st.ptMinPosition.y));
         Print(TOSTRING(st.ptMaxPosition.x));
         Print(TOSTRING(st.ptMaxPosition.y));
         Print(TOSTRING(st.rcNormalPosition.bottom));
         Print(TOSTRING(st.rcNormalPosition.left));
         Print(TOSTRING(st.rcNormalPosition.right));
         Print(TOSTRING(st.rcNormalPosition.top));
         Print(TOSTRING(st.rcDevice.bottom));
         Print(TOSTRING(st.rcDevice.left));
         Print(TOSTRING(st.rcDevice.right));
         Print(TOSTRING(st.rcDevice.top));
         Sleep(100);
         last_showCmd = st.showCmd;
        }
     }
  }
st.length = 44 
st.flags = 2 
st.showCmd = 2 
st.ptMinPosition.x = 1912 
st.ptMinPosition.y = -8 
st.ptMaxPosition.x = -1 
st.ptMaxPosition.y = -1 
st.rcNormalPosition.bottom = 769 
st.rcNormalPosition.left = 2026 
st.rcNormalPosition.right = 2868 
st.rcNormalPosition.top = 190 
st.rcDevice.bottom = -208302999 
st.rcDevice.left = 0 
st.rcDevice.right = 0 
st.rcDevice.top = 0 

st.length = 44 
st.flags = 2 
st.showCmd = 3 
st.ptMinPosition.x = -32000 
st.ptMinPosition.y = -32000 
st.ptMaxPosition.x = -1 
st.ptMaxPosition.y = -1 
st.rcNormalPosition.bottom = 769 
st.rcNormalPosition.left = 2026 
st.rcNormalPosition.right = 2868 
st.rcNormalPosition.top = 190 
st.rcDevice.bottom = -208302999 
st.rcDevice.left = 0 
st.rcDevice.right = 0 
st.rcDevice.top = 0 

 
#include <WinAPI\WinAPI.mqh>

bool IsTerminalMinimized()
{
  return((bool)user32::IsIconic((user32::GetAncestor((HANDLE)::ChartGetInteger(0, CHART_WINDOW_HANDLE), 2))));
}

bool IsTerminalMaximized()
{
  return((bool)user32::IsZoomed((user32::GetAncestor((HANDLE)::ChartGetInteger(0, CHART_WINDOW_HANDLE), 2))));
}
 
Aleksandr Slavskii #:

fxsaber #:
Спасибо.
Причина обращения: