【问题标题】:How to get a ms windows desktop height in pygtk?如何在 pygtk 中获得 ms windows 桌面高度?
【发布时间】:2013-10-17 10:37:06
【问题描述】:

我在 pygtk 中编写了一个应用程序,它显示一个弹出窗口(就像来自 Chrome 的),没有调整大小和移动选项。除了一件事,一切都很好。我必须将此窗口移动到屏幕底部,略高于任务栏。 MS windows 上的任务栏有,windows XP 30px,但 windows 7 更高 我有通过代码获取的显示器/屏幕分辨率:

w = self.get_screen()
print w.get_height()

但我仍然没有任务栏的高度。任何想法如何获得这个高度?

【问题讨论】:

  • 解决方案必须是跨平台的?

标签: python windows gtk pygtk


【解决方案1】:

在 Windows 上你可以使用这个:

from ctypes import windll, wintypes, byref

SPI_GETWORKAREA = 48
SM_CYSCREEN = 1

def get_taskbar_size():
    SystemParametersInfo = windll.user32.SystemParametersInfoA
    work_area = wintypes.RECT()
    if (SystemParametersInfo(SPI_GETWORKAREA, 0, byref(work_area), 0)):
        GetSystemMetrics = windll.user32.GetSystemMetrics
        return GetSystemMetrics(SM_CYSCREEN) - work_area.bottom

print get_taskbar_size()  # 30

请注意,如果 API 调用失败,get_taskbar_size 将返回 None

【讨论】:

  • 非常感谢。完美运行!
猜你喜欢
  • 1970-01-01
  • 2011-07-14
  • 2022-01-17
  • 2016-10-20
  • 1970-01-01
  • 2014-06-28
  • 2021-09-02
  • 2012-01-05
  • 2018-08-08
相关资源
最近更新 更多