如何用python 實(shí)現(xiàn)老板鍵功能
主要實(shí)現(xiàn)目標(biāo):為多個(gè)指定的程序?qū)崿F(xiàn)統(tǒng)一的老板鍵,一鍵隱藏多個(gè)指定的應(yīng)用程序的窗口及任務(wù)欄。
1.獲取所有頂層窗口import win32guihwnd_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]
import tkinter as tkroot = 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()
# 通過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 PyHook3import pythoncomdef onKeyboardEvent(event): key = event.Key if key == 'F7': close_windows(aimLists) if key == 'F8': open_windows(aimLists) if key == 'F12': win32gui.PostQuitMessage(0) return Truehm = PyHook3.HookManager()hm.KeyDown = onKeyboardEventhm.HookKeyboard()# 開啟監(jiān)聽pythoncom.PumpMessages()5.最終效果
以上就是python 老板鍵功能的實(shí)現(xiàn)步驟的詳細(xì)內(nèi)容,更多關(guān)于python 老板鍵功能的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. idea設(shè)置代碼格式化的方法步驟2. Docker究竟是什么 為什么這么流行 它的優(yōu)點(diǎn)和缺陷有哪些?3. idea重置默認(rèn)配置的方法步驟4. Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考5. 解決idea中Terminal終端無法執(zhí)行GIT命令+Terminal 中文亂碼問題6. Spring AbstractRoutingDatasource 動(dòng)態(tài)數(shù)據(jù)源的實(shí)例講解7. 永久解決 Intellij idea 報(bào)錯(cuò):Error :java 不支持發(fā)行版本5的問題8. 教你在 IntelliJ IDEA 中使用 VIM插件的詳細(xì)教程9. PHP內(nèi)核探索 —— 如何執(zhí)行PHP腳本:Zend引擎是如何解釋PHP腳本的10. springboot logback調(diào)整mybatis日志級(jí)別無效的解決
