Параметры окна

Страницы: 1
RSS
Параметры окна
 
Как узнать свернуто ли пользовательское окно?
GetWindowState(kid)  и GetWindowPos(kid) отсутствуют, GetWindowRect(kid) всегда возвращает 6  
 
Добрый день.

К сожалению, средствами QLua нет возможности получить данную информацию.
 
Цитата
Kolossi написал:
Как узнать свернуто ли пользовательское окно?
GetWindowState(kid)  и GetWindowPos(kid) отсутствуют, GetWindowRect(kid) всегда возвращает 6  
bool isMinimized = (GetWindowLong(hChildWnd, GWL_STYLE) & WS_MINIMIZE) != 0;
 
Цитата
Kolossi написал:
Как узнать свернуто ли пользовательское окно?
GetWindowState(kid)  и GetWindowPos(kid) отсутствуют, GetWindowRect(kid) всегда возвращает 6  
по факту это всегда работает, но теоретически есть и более точный способ  
 
GetWindowLong(hChildWnd, GWL_STYLE)
А что тут за параметры ?
 
Цитата
Kolossi написал:
GetWindowLong(hChildWnd, GWL_STYLE)
А что тут за параметры ?
надеюсь, барин не издевается надо мной

https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getwindowlongw
 
Барин старый юниксоид и квик напялен на Mac через Wiskey. С окшками вашими и ульями совсем не дружу :).
Ладно, есть у меня один знакомый ChatGPT, расскажет каким боком идентификатор окна qLua прислюнить к этой конструкции.
За подсказку, тем не менее, спасибо!
 
Я так понимаю HWND это ни разу не kid из AllocTable(). Или да?
 
Цитата
Kolossi написал:
Барин старый юниксоид и квик напялен на Mac через Wiskey. С окшками вашими и ульями совсем не дружу :).
Ладно, есть у меня один знакомый ChatGPT, расскажет каким боком идентификатор окна qLua прислюнить к этой конструкции.
За подсказку, тем не менее, спасибо!

Барин, у меня тоже bashrc размером с войну и мир.

только пользуйте GetWindowLongPtr, иначе квик взорвется и похоронит всех ваших стивов джобсов.
 
Цитата
Kolossi написал:
Я так понимаю HWND это ни разу не kid из AllocTable(). Или да?
Конечно нет.

Это виндузовый дескриптор окна.

сначала ищете дескриптор главного окна любимого терминала. FindWindowEx. Класс InfoClass.
Проверяете, что окно принадлежит вашему процессу (GetWindowThreadProcessId и GetCurrentProcessId). Вдруг вы приболели и запустили два терминал одновременно?

потом объявляете в розыск mdi скруктуру квика (динозавры живы!) по классу "MDIClient"

а потом в в этой структуре через все тот же findwindowex находите по caption дескриптор нужного вам окна.

а зная окно, можете узнать его стили, в том числе состояние минимизации. Или нарисовать фигу всем этим новосибирским гениям, что написали всю эту невыносимую херню
 
Ндааа, вот так мелкий прыщик становится онкологическим заболеванием. Уберу всю оставшуюся графику и окна из этого убожества в Python, так наверное будет проще.
Страницы: 1
Читают тему
Наверх