【问题标题】: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。