EnumWindows не обнаруживает окна - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь использовать EnumWindows для печати заголовков всех видимых окон.

Сначала он работал, EnumWindows вызывал функцию обратного вызова createWindow () несколько раз при каждом вызове EnumWindows.Но без добавления какого-либо значимого кода он перестал работать и теперь только один раз вызывает createWindow () с дескриптором невидимого окна.

Вот мой код:

int main()
{
    int row = 2;
    int col = 2;

    vector<Window> detectedWindows((row * col) + 4);

    EnumWindows(&createWindow, (LPARAM)&detectedWindows);
}

BOOL CALLBACK createWindow(HWND input, LPARAM storage)
{
    if (IsWindowVisible(input))
    {
        TCHAR titleTchar[30];

        GetWindowText(input, titleTchar, 30);

        wcout << titleTchar << endl;

        CString titleCstr = titleTchar;
        CT2CA converting(titleCstr);
        string title(converting);

        cout << title << endl;
    }
    return 0;
}

Нет записанныхСообщения об ошибках.GetLastError возвращает 0.

1 Ответ

0 голосов
/ 02 октября 2018

Ваш обратный вызов возвращает FALSE, поэтому EnumWindows() прекращает перечисление окон.Пусть он вернет TRUE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...