MSDN文档中的OpenInputDesktop完全代表什么?

时间:2015-09-28 15:48:44

标签: c++ desktop msdn

我正在浏览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以及DesktopWindow Stations,但我还没有找到具体的答案。 Here in Desktops提到:

  

此活动桌面(也称为输入桌面)是用户当前可见并接收用户输入的桌面。

这是否意味着主监视器?我仍然对桌面和监视器的概念感到困惑

  

默认情况下,交互式窗口站中有三个桌面:Default,ScreenSaver和Winlogon。

这清除了桌面和显示器之间没有关系的疑问。但是,当连接多台显示器时,桌面区域意味着什么?主监视器或组合屏幕空间上的默认/屏幕保护程序?

1 个答案:

答案 0 :(得分:0)

我在此链接上找到了对我的问题的回答:Virtual Screen

提到的地方:

  

所有监视器的边界矩形是虚拟屏幕。桌面覆盖虚拟屏幕而不是单个显示器。

这使我对桌面的确切代表什么感到困惑。感谢您的帮助@Ben Voigt

在此链接上:HMonitor and the Device Context已提及:

  

每个物理显示由HMONITOR类型的监视器句柄表示。物理显示器具有相同的HMONITOR,只要它是桌面的一部分。

因此,这清除了我关于物理设备,虚拟屏幕以及它们与MSDN中的监视器和桌面的关系的概念。

希望这有助于某人搜索与我类似的答案。