如何在pygtk中获得ms windows桌面高度?

时间:2013-10-16 20:12:25

标签: python windows gtk pygtk

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

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

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

1 个答案:

答案 0 :(得分:2)

在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