本文为满足强迫症需求(不是),通过Python实现鼠标选定窗口抓取句柄并实现窗口位置居中,或可通过输入对应的标题序号以选取句柄。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62import imp import sys from webbrowser import get import win32gui import win32con import win32api import time def get_all_windows(): hWnd_list = [] win32gui.EnumWindows(lambda hWnd, param: param.append(hWnd), hWnd_list) return hWnd_list def get_title(hwnd): title = win32gui.GetWindowText(hwnd) return title def Med_Loc(Hwnd,ScreenX,ScreenY): left, top, right, bottom = win32gui.GetWindowRect(Hwnd) AppX=right-left AppY=bottom-top TargetX=int((ScreenX-AppX+1)/2) TargetY=int((ScreenY-AppY+1)/2) win32gui.MoveWindow(Hwnd,TargetX,TargetY,AppX,AppY,True) Title=dict() hWndList=get_all_windows() for i in range(0,len(hWndList)): hWnd=hWndList[i] title=get_title(hWnd) #print('窗口标题:',title) if(len(title)!=0 and title!="Default IME" and title!="MSCTFIME UI"): Title[i]=title for key,value in Title.items(): print(key,':',value) ScreenX=win32api.GetSystemMetrics(win32con.SM_CXSCREEN) #获得屏幕分辨率X轴 ScreenY=win32api.GetSystemMetrics(win32con.SM_CYSCREEN) #获得屏幕分辨率Y轴 while True: Num=int(input("输入序号以指定窗口n输入-1以选中窗口n输入-2以退出n")) if Num in Title.keys(): #win32gui.PostMessage(hWndList[Num], win32con.WM_CLOSE, 0, 0) Hwnd=hWndList[Num] Med_Loc(Hwnd,ScreenX,ScreenY) print("窗口句柄:",Hwnd,";窗口标题:",get_title(Hwnd)) elif Num==-1: print("3秒后调整窗口") time.sleep(3) Hwnd=win32gui.GetForegroundWindow() print("窗口句柄:",Hwnd,";窗口标题:",get_title(Hwnd)) Med_Loc(Hwnd,ScreenX,ScreenY) elif Num==-2: print("退出程序") break input("Press Any key to Exit")
最后
以上就是羞涩戒指最近收集整理的关于Python实现鼠标选定窗口位置居中的全部内容,更多相关Python实现鼠标选定窗口位置居中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复