Название: Как получить список окон верхнего уровня во всей системе? Отправлено: Ground от Ноябрь 21, 2012, 14:13 Собственно, сабж. Хотелось бы средствами Qt, т.к. АПИ-вариант не вызывает проблем.
QApplication::topLevelWidgets() не подходит, т.к. возвращает только окна верхнего уровня для текущего приложения. Название: Re: Как получить список окон верхнего уровня во всей системе? Отправлено: Bepec от Ноябрь 21, 2012, 14:28 Вам не кажется глупым этот вопрос?
Апи вариант для каждой системы разный. Даже не так - для каждого оконного менеджера разный. Если для вас не составляет проблем получить все окна верхнего уровня - напишите класс, который будет это делать в зависимости от оконного менеджера. PS пока что я о таком не слышал. Название: Re: Как получить список окон верхнего уровня во всей системе? Отправлено: Alex Custov от Ноябрь 21, 2012, 14:36 Для Win32 - EnumWindows, для X11 - используй NETWM и _NET_CLIENT_LIST
Название: Re: Как получить список окон верхнего уровня во всей системе? Отправлено: Ground от Ноябрь 21, 2012, 15:01 Вам не кажется глупым этот вопрос? Совсем нет. Скажем так, Qt - кроссплатформенный фреймворк, поэтому он и должен содержать обертку над общими функциями системы. В исходниках достаточно много мест, где такие вот несостыковки решаются с помощью макросов. Для Win32 - EnumWindows, для X11 - используй NETWM и _NET_CLIENT_LIST Благодарю за информацию.Ну если нет в Qt нет таких функций, можно считать вопрос закрытым. Спасибо за помощь. |