目录

Python使用win32窗口置顶

目录

下边的是将窗口置顶后import win32gui

 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
import win32gui
import win32con
#获取所有窗口句柄
hwnd_title = {}
  
def get_all_hwnd(hwnd, mouse):
    if (win32gui.IsWindow(hwnd)
            and win32gui.IsWindowEnabled(hwnd)
            and win32gui.IsWindowVisible(hwnd)):
        hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)})
  
  
win32gui.EnumWindows(get_all_hwnd, 0)
for h, t in hwnd_title.items():
    if t :
        print (h, t)
#置顶窗口
print("置顶窗口")
hwnd = win32gui.FindWindow(None, "学习通答题助手")
# hwnd = win32gui.FindWindow('xx.exe', None)
# 窗口需要正常大小且在后台,不能最小化
win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL)
# 窗口需要最大化且在后台,不能最小化
# ctypes.windll.user32.ShowWindow(hwnd, 3)
win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 0, 0, 0, 0,
                              win32con.SWP_NOMOVE | win32con.SWP_NOACTIVATE | win32con.SWP_NOOWNERZORDER | win32con.SWP_SHOWWINDOW | win32con.SWP_NOSIZE)
#取消置顶
#win32gui.SetWindowPos(hwnd, win32.HWND_NOTOPMOST, 0, 0, 0, 0,win32con.SWP_SHOWWINDOW|win32con.SWP_NOSIZE|win32con.SWP_NOMOVE)
  
if __name__ == '__main__':
    pass

https://cdn.jsdelivr.net/gh/xinqinew/pic@main/img/1966727-20201223152917831-905587513.png

【简单版】

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import win32gui
import win32con
#获取所有窗口句柄
 
hwnd = win32gui.FindWindow(None, "学习通答题助手")
# hwnd = win32gui.FindWindow('xx.exe', None)
# 窗口需要正常大小且在后台,不能最小化
win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL)
# 窗口需要最大化且在后台,不能最小化
# ctypes.windll.user32.ShowWindow(hwnd, 3)
win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 0, 0, 0, 0,
                              win32con.SWP_NOMOVE | win32con.SWP_NOACTIVATE | win32con.SWP_NOOWNERZORDER | win32con.SWP_SHOWWINDOW | win32con.SWP_NOSIZE)
# 取消置顶
# win32gui.SetWindowPos(hwnd, win32con.HWND_NOTOPMOST, 0, 0, 0, 0,win32con.SWP_SHOWWINDOW|win32con.SWP_NOSIZE|win32con.SWP_NOMOVE)
  
if __name__ == '__main__':
    pass