我正在浏览DesktopDuplication API Sample Code并且有很多功能我不清楚它们的确切设备和参数是什么。其中一个是OpenInputDesktop。
以下是DesktopDuplication API示例代码中如何使用此函数的代码段。
// Get desktop
DUPL_RETURN Ret;
HDESK CurrentDesktop = nullptr;
CurrentDesktop = OpenInputDesktop(0, FALSE, GENERIC_ALL);
所以我的问题是这里的桌面是什么意思?
如果我有一个多显示器系统,主桌面:1366X768和1920X1080的辅助系统那么桌面是指仅主桌面的桌面区域:1366X768还是桌面意味着整个屏幕区域为(1920 + 1366)3286X1080?
或者我们可以选择在函数调用中选择上面提到的两个桌面定义之一。但是我找不到任何可以改变的参数,让我这样做。
更新 我提到了Window Station and Desktop Creation以及Desktop和Window Stations,但我还没有找到具体的答案。 Here in Desktops提到:
此活动桌面(也称为输入桌面)是用户当前可见并接收用户输入的桌面。
这是否意味着主监视器?我仍然对桌面和监视器的概念感到困惑
默认情况下,交互式窗口站中有三个桌面:Default,ScreenSaver和Winlogon。
这清除了桌面和显示器之间没有关系的疑问。但是,当连接多台显示器时,桌面区域意味着什么?主监视器或组合屏幕空间上的默认/屏幕保护程序?
答案 0 :(得分:0)
我在此链接上找到了对我的问题的回答:Virtual Screen。
提到的地方:
所有监视器的边界矩形是虚拟屏幕。桌面覆盖虚拟屏幕而不是单个显示器。
这使我对桌面的确切代表什么感到困惑。感谢您的帮助@Ben Voigt
在此链接上:HMonitor and the Device Context已提及:
每个物理显示由HMONITOR类型的监视器句柄表示。物理显示器具有相同的HMONITOR,只要它是桌面的一部分。
因此,这清除了我关于物理设备,虚拟屏幕以及它们与MSDN中的监视器和桌面的关系的概念。
希望这有助于某人搜索与我类似的答案。