1

我需要找出屏幕的高度才能调整对话框的大小。我正在打电话GetSystemMetricsSM_CYFULLSCREEN我得到了一个特定的号码(在我的情况下是 1028)。根据 MSDN:

要获取未被系统任务栏或应用程序桌面工具栏遮挡的屏幕部分的坐标,请 SystemParametersInfo使用该值调用该函数SPI_GETWORKAREA

我也打电话SystemParametersInfo来看看它返回了什么,我得到一个不同的高度数字,1050。运行间谍,没有任务栏的区域确实是高度 1050。有谁知道为什么不同的高度?谢谢

4

1 回答 1

3

来自 SM_CYFULLSCREEN 的 MSDN 文档:

主显示器上全屏窗口的客户区高度,以像素为单位。

相关细节加粗,客户区是没有边框和标题栏的窗口部分。因此,它大大小于实际的主屏幕高度。也许您打算改用 SM_CYSCREEN。SPI_GETWORKAREA 返回整个窗口的可用空间、外部大小、您将传递给 CreateWindowEx() 的空间。

于 2015-11-19T17:07:42.820 回答