c++ - 如何使用 VirtualDesktopManager 界面?

标签 c++ winapi virtual-desktop windows-virtual-desktop

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

我从 winapi 中找到了 VirtualDesktopManager 类,但即使根据 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 中不包含此接口(interface),在 Visual Studio 中运行它会找到它。所以问题出在标题中。

关于c++ - 如何使用 VirtualDesktopManager 界面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62224066/

相关文章:

c++ - 如何在 QGraphicsScene 上绘制一个点(通过鼠标单击)?

c++ - 如何从 C++ 扩展的 QQuickItem 创建 QQuickWindow 作为 child ?

c - 使用 ReadFile 读取整个 PhysicalDrive 内容

ubuntu - 我可以更改 Gnome 3.10 工作区网格吗?

c++ - 在 C++ 中确定指针限制的惯用方法是什么?

c++ - 是否有任何 C 或 C++ 编译器不将 wctrans_t 和 wctype_t 定义为类型 wchar_t 的原因?

c# - 连接到远程共享文件夹导致 "multiple connections not allowed"错误,但尝试断开连接导致 "connection does not exist"

windows - IO 完成端口是否在完成端口有要报告的内容之前或之后生成新线程?

windows-10 - Windows 10 IVirtualDesktopManager::MoveWindowToDesktop