1

我试图找出一个窗口是否属于当前的虚拟桌面。

我从winapi中找到了VirtualDesktopManager类,但是即使根据here它应该在“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();

我怎样才能使这项工作?

4

1 回答 1

0

显然,我正在使用的 mingw64 中的“shobjidl.h”标头中不包含此接口,在 Visual Studio 中运行它会找到它。所以问题出在标题中。

于 2020-06-06T15:41:28.890 回答