2013-10-16 58 views
1

我在pygtk中編寫應用程序,顯示一個彈出窗口(如從Chrome瀏覽器)窗口,無需調整大小和移動選項。除了一件事以外,一切都很棒。我必須將此窗口移動到屏幕底部,稍微高於任務欄。 任務欄上的MS Windows有,在Windows XP 30像素,但在Windows 7較高 我有監視器/屏幕分辨率編碼獲得:如何在pygtk中獲得ms windows桌面高度?

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

,但我仍然不具備任務欄的高度。任何想法如何得到這個高度?

+0

解決方案必須是跨平臺的? – cdonts

回答

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 

注意get_taskbar_size將返回None如果API調用失敗。

+0

非常感謝。完美的作品! – DrafFter