Dantes3000 пишет:
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
start_();
external(INT, "IsIconic", "IsIconic", "User32.dll");
external(INT, "IsWindowVisible", "IsWindowVisible", "User32.dll");
loop()
{
start_();
textout(0,0,0, format(IsIconic(formatwi(w_KIB))), 0);
textout(1,0,15, format(IsWindowVisible(formatwi(w_KIB))), 0);
}
function start_()
{
pause(100);
int x, y;
getmouse(x, y);
w_KIB=getwindow(0, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
Функция IsIconic возвращает это.
Но алгоритм не верный.
В цикле функция start_();, в которой идет заново получение указателя на окно под мышкой. То есть где мышь, там и окно определяется. И указатель указывает постоянно на активное развернутое окно под мышкой.
Надо start_(); вынести за цикл, тогда будет указывать на окно которое при запуске стояло. И будет его статус определять.
CODE:win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
start_();
external(INT, "IsIconic", "IsIconic", "User32.dll");
start_();
loop()
{
textout(0,0,0, format(IsIconic(formatwi(w_KIB))), 0);
}
function start_()
{
pause(100);
int x, y;
getmouse(x, y);
w_KIB=getwindow(0, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}