如何使用 VirtualDesktopManager 界面?

How to use VirtualDesktopManager interface?

我正在尝试查明 window 是否属于当前虚拟桌面。

我从 winapi 中找到了 VirtualDesktopManager class,但是即使根据 here 它应该在 "shobjidl.h" header 中,当我编译它抛出此错误的代码:

85:5: error: 'VirtualDesktopManager' was not declared in this scope

我的代码的重要部分:


    #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();

我怎样才能完成这项工作?

显然这个接口没有包含在我使用的 mingw64 中的 "shobjidl.h" header 中,运行 它在 Visual Studio 中找到它。所以问题出在 header.