Как узнать, что окно QUIK вынесено?
В терминале QUIK можно вынести окно скрипта за пределы главного окна терминала. Делается это мышкой при зажатой клавише Ctrl. Поведение таких окон отличается от поведения обычных, например в вопросе определения их координат.
Чтобы узнать, что окно вынесено, можно использовать такую библиотечную С++ функцию:
static int b4s_IsWindowDetached(lua_State* L)
{
HWND hwnd = (HWND) luaL_checkinteger(L, 1);
LONG style = GetWindowLong(hwnd, GWL_STYLE);
lua_pushboolean(L, (style & WS_CHILD) == 0);
return 1;
}
Она получает на входе хендл окна и анализирует его стиль. Если маска WS_CHILD установлена, значит, окно не вынесено и наоборот.
Узнать хэндл окна можно поиском окна по его имени посредством WinAPI метода FindWindowEx
