Как использовать интерфейс VirtualDesktopManager?
Я пытаюсь выяснить, принадлежит ли окно текущему виртуальному рабочему столу.
Я обнаружил, что класс VirtualDesktopManager формирует winapi, но, хотя он должен находиться в заголовке "shobjidl.h", как показано здесь, когда я компилирую код, он выдает эту ошибку:
85:5: ошибка: VirtualDesktopManager не был объявлен в этой области
важный фрагмент моего кода:
#include <shobjidl.h>
...
BOOL is_on_current_desktop = FALSE;
VirtualDesktopManager g_pvdm;
g_pvdm.IsWindowOnCurrentVirtualDesktop(hwnd, &is_on_current_desktop); // hwnd is a window handle acquired previously
g_pvdm.Release();
Как я мог заставить это работать?
1 ответ
Решение
Очевидно, этот интерфейс не был включен в заголовок "shobjidl.h" в mingw64, который я использовал, запустив его в Visual Studio, он его обнаружит. Так что проблема была в шапке.