Russian Qt Forum

Qt => Вопросы новичков => Тема начата: mercy от Март 03, 2015, 15:34



Название: enumWindow() или что-то подобное
Отправлено: mercy от Март 03, 2015, 15:34
Добрый день! Мне нужно получить список открытых окон в системе и их координаты расположения. Как это можно сделать?


Название: Re: enumWindow() или что-то подобное
Отправлено: Alex Custov от Март 03, 2015, 15:36
Платформо-зависимым способом. В Windows - https://msdn.microsoft.com/en-us/library/windows/desktop/ms633497%28v=vs.85%29.aspx


Название: Re: enumWindow() или что-то подобное
Отправлено: mercy от Март 03, 2015, 15:39
Подробнее можно?

Вот пока что есть у меня
Код:
#include <iostream>
#include <Windows.h>

using namespace std;

BOOL EnumWindowsProc(HWND hWnd, long lParam)
{
wchar_t Buff[255], NameOfClass[255];
GetWindowText(hWnd, Buff, 254);
GetClassName(hWnd, NameOfClass, 254);
cout << Buff;
cout << " ";
cout << NameOfClass << endl;
return TRUE;
}


int main(){
EnumWindows((WNDENUMPROC)EnumWindowsProc, 0);
return 0;
}


Название: Re: enumWindow() или что-то подобное
Отправлено: Bepec от Март 03, 2015, 15:52
Если б вы использовали qt, я б скинул вам готовое, неэлегантное решение. :)


Название: Re: enumWindow() или что-то подобное
Отправлено: mercy от Март 03, 2015, 16:04
Проект пишу в qt. Это для простоты(потестить) я часть задачки написал в студии. Так что возможно мне Ваше "неэлегантное" решение помогло бы :)