有没有办法通过PyGTK在Windows上获取任务栏的位置和大小?
如果没有,是否至少有一种方法可以确定特定显示器上的免费客户端区域? (换句话说,任务栏不占用的区域?)
答案 0 :(得分:0)
您可以最大化窗口,并在最大化后检查其几何体。像这样的东西(适用于Windows和Linux):
import gtk
size = (10, 10)
def expose(widget, *args):
global size
size = widget.get_size()
if size != (10, 10):
gtk.main_quit()
win = gtk.Window()
win.resize(*size)
win.connect('expose-event', expose)
win.show()
win.maximize()
gtk.main()
print size
这有点像hackish,但我不确定是否有可移植的方式(如果你在Windows上没有使用Win32 API)这样做。
答案 1 :(得分:0)
稍微整洁(但仅限于窗口),因为这会创建一对动态变量,然后您可以使用这些变量来调整剩余代码的偏移量;
import win32gui
#discover where top left corner of active screen is
#return is a dictionary list of keys and values
monitors = win32api.EnumDisplayMonitors()
display1 = win32api.GetMonitorInfo(monitors[0][0])
#from the Work key, select the first and second values
x_adj=(display1['Work'][0])
y_adj=(display1['Work'][1])
然后,在代码的其余部分中,使用这些调整来优化导航点击。在我的情况下,我使用pyautogui
import pyautogui
#just move the mouse to a position
pyautogui.moveTo(x=103+x_adj, y=235+y_adj)
#move and click the mouse
pyautogui.click(x=103+x_adj, y=235+y_adj)
在您的情况下,您需要在(x_adj,y_adj)