• 窗口置顶程序


    代码实现

    # coding: utf-8
    import win32gui
    import win32con
    import sys
    
    def main():
        if len(sys.argv) < 2:
            print('请指定窗口名称(尽可能准确)')
            return
        name = sys.argv[1]
        wnds = get_all_windows()
        if not wnds:
            print('枚举窗口失败')
            return
        hwnd = get_wnd_contains(name, wnds)
        if not hwnd:
            print('获取目标窗口失败:', name)
            return
        set_wnd_top(hwnd, True)
        print('目标置顶设置完成')
    
    def get_all_windows():
        def function(handle, argument):
            argument.append(handle)
        argument = []
        win32gui.EnumWindows(function, argument)
        return argument
    
    
    def set_wnd_top(hwnd, top):
        win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL)
        if top:
            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)
        else:
            win32gui.SetWindowPos(hwnd, win32.HWND_NOTOPMOST, 0, 0, 0, 0,win32con.SWP_SHOWWINDOW|win32con.SWP_NOSIZE|win32con.SWP_NOMOVE)
    
    
    def get_wnd_contains(name, wnds):
        texts = []
        for v in wnds:
            text = win32gui.GetWindowText(v)
            texts.append(text)
            # 当前运行窗口
            if text.find('python ') > 0 and text.find(sys.argv[0]) > 0:
                continue
            if text and text.find(name) >= 0:
                print('获取目标成功:' + text)
                return v
        print('查找窗口失败,请确认是否在以下窗口列表中:', '\n\t'.join(set(texts)))
        return None
    
    
    if __name__ == '__main__':
        main()
    

    使用方法

    python top.py 窗口标题名
    

    其中top.py是保存的代码文件名;窗口标题名可以是标题全程,也可以是一部分,能唯一根据该关键字定位窗口即可。

    当找不到目标窗口时,程序会显示当前所有的窗口标题名称。

  • 相关阅读:
    H2嵌入式数据库的各种连接方式
    大数据平台建设的思考
    hive中的一些参数
    sqoop job 踩过的坑
    【转】awk、nawk、mawk、gawk的简答介绍
    awk用法
    hive 中窗口函数row_number,rank,dense_ran,ntile分析函数的用法
    hive中order by,sort by, distribute by, cluster by的用法
    python连接mysql
    pycharm注册码
  • 原文地址:https://www.cnblogs.com/arbboter/p/16433850.html
Copyright © 2020-2023  润新知