如何用python 實(shí)現(xiàn)老板鍵功能
主要實(shí)現(xiàn)目標(biāo):為多個(gè)指定的程序?qū)崿F(xiàn)統(tǒng)一的老板鍵,一鍵隱藏多個(gè)指定的應(yīng)用程序的窗口及任務(wù)欄。
1.獲取所有頂層窗口
import win32gui
hwnd_title = dict()
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)})
# EnumWindows枚舉所有頂層窗口
win32gui.EnumWindows(get_all_hwnd, 0)
# 打印出所有窗口名不為空的窗口
for key in list(hwnd_title):
if hwnd_title[key] is "":
del hwnd_title[key]

2.手動(dòng)選擇需要設(shè)置老板鍵的程序
import tkinter as tk
root = tk.Tk()
root.geometry("800x400")
# 列表顯示所有頂層窗口
listBox = tk.Listbox(root, selectmode="multiple")
listBox.pack(side="left", expand="yes", fill="both")
for i, j in hwnd_title.items():
if j is not "":
listBox.insert("end", str(i) + ":" + j)
bt = tk.Button(root, text='選擇')
bt.pack()
root.mainloop()

3.隱藏或顯示選中程序
# 通過GetWindowRect方法獲取隱藏前的窗口位置及尺寸信息 left, top, right, bottom = win32gui.GetWindowRect() def close_windows(aimLists): for k in aimLists: # 隱藏程序窗口 win32gui.SetWindowPos(lists[k][0], 0, 0, 0, 0, 0, SWP_HIDEWINDOW) def open_windows(aimLists): for k in aimLists: # 顯示程序窗口 t = lists[k] win32gui.SetWindowPos(t['hwnd'], 0, t['left'], t['top'], t['right'] - t['left'], t['bottom'] - t['top'], SWP_SHOWWINDOW)
4.設(shè)置顯示隱藏快捷鍵
這里設(shè)置F7顯示,F(xiàn)8隱藏,F(xiàn)12中止
import PyHook3 import pythoncom def onKeyboardEvent(event): key = event.Key if key == "F7": close_windows(aimLists) if key == "F8": open_windows(aimLists) if key == "F12": win32gui.PostQuitMessage(0) return True hm = PyHook3.HookManager() hm.KeyDown = onKeyboardEvent hm.HookKeyboard() # 開啟監(jiān)聽 pythoncom.PumpMessages()
5.最終效果

以上就是python 老板鍵功能的實(shí)現(xiàn)步驟的詳細(xì)內(nèi)容,更多關(guān)于python 老板鍵功能的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
利用python對Excel中的特定數(shù)據(jù)提取并寫入新表的方法
今天小編就為大家分享一篇利用python對Excel中的特定數(shù)據(jù)提取并寫入新表的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
快速上手基于Anaconda搭建Django環(huán)境的教程
Django具有完整的封裝,開發(fā)者可以高效率的開發(fā)項(xiàng)目,Django將大部分的功能進(jìn)行了封裝,開發(fā)者只需要調(diào)用即可,接下來通過本文給大家介紹基于Anaconda搭建Django環(huán)境的教程,需要的朋友可以參考下2021-10-10
python按列索引提取文件夾內(nèi)所有excel指定列匯總(示例代碼)
這篇文章主要介紹了python按列索引提取文件夾內(nèi)所有excel指定列匯總,本文通過多種場景分析結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
解決PyCharm不運(yùn)行腳本,而是運(yùn)行單元測試的問題
今天小編就為大家分享一篇解決PyCharm不運(yùn)行腳本,而是運(yùn)行單元測試的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
python list中append()與extend()用法分享
列表是以類的形式實(shí)現(xiàn)的。“創(chuàng)建”列表實(shí)際上是將一個(gè)類實(shí)例化。因此,列表有多種方法可以操作2013-03-03
pandas實(shí)現(xiàn)數(shù)據(jù)可視化的示例代碼
本文主要介紹了pandas實(shí)現(xiàn)數(shù)據(jù)可視化的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05

