случайно наткнулся на что-то похожее
в xInfo есть метод activateWindow()
судя по контексту (поищите в АОТе "activateWindow") он берет на вход hWnd
если получить к-л образом список hWnd всех окон (наверняка же можно, через winapi..???), то можно организовать панель с которой можно будет активировать окна.
вот так можно получить хВнд родительского окна клиента аксапты
WinAPI::findWindow('AxaptaClientClassName', '');
есть метод
static client public HWND findWindowEx(HWND _parent, HWND _after, str _class, str _title)
с помощью которого можно получать дочерние окна
как его юзать - я не понял...
вернее, понял, но не смог применить :)
поискав в инете доку на винапишную функцию FindWindowExA которую он юзает, я написал следующий код:
PHP код:
static void Job7(Args _args)
{
hWnd Parent;
hwnd Child;
;
Parent = WinAPI::findWindow('AxaptaClientClassName', '');
for (Child = WinAPI::FindWindowEx(Parent, 0, '', '');
!children.exists(child);
Child = WinAPI::FindWindowEx(Parent, child, '', ''))
{
info(strfmt("%1 - %2", child, WinAPI::getWindowText(child)));
}
}
он выдает какие-то hwnd, но activateWindow() их не кушает
хуже того
hwnd - это, как правило, довольно большие, 6-значные инты.
я попробовал перебором найти то, что примет на вход activateWindow(), и обнаружил, что перебирая числа от 0 до 1000 я преребрал все октрытые у меня на тот момент окна!!!
PHP код:
static void Job6(args a)
{
int i;
;
//infolog.activateWindow(197606);
for (i = 0; i < 1000; i++)
{
infolog.activateWindow(i);
}
}
короче говоря, я окончательно запутался.
с одной стороны (судя по классу sysCompilerOutput, к примеру) activateWindow берет на вход хвнд, и это работает, с другой стороны опытным путем было найдено окно которой активировалось по activateWindow(906)...
если будут к-л результаты - пишите
PS. я изменил тему треда в надежде что такая привлечет больше людей :)
Уважаемые разработчики!
Предлагаю совместно исследовать возможность соорудить в аксапте панель задач!