如何使用VirtualDesktopManager界面?

How to use VirtualDesktopManager interface?

本文关键字:界面 VirtualDesktopManager 何使用      更新时间:2023-10-16

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

我从winapi中找到了VirtualDesktopManager类,但是即使根据这里它应该在"shobjidl.h"标头中,当我编译代码时,它会抛出此错误:

85:5:错误:"虚拟桌面管理器"未在此范围内声明

我代码中的重要部分:


#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"标头中,在 Visual Studio 中运行它可以找到它。所以问题出在标题中。