我是靠谱客的博主 羞涩戒指,最近开发中收集的这篇文章主要介绍Python实现鼠标选定窗口位置居中,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文为满足强迫症需求(不是),通过Python实现鼠标选定窗口抓取句柄并实现窗口位置居中,或可通过输入对应的标题序号以选取句柄。

import 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实现鼠标选定窗口位置居中所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部