如何用python 實現(xiàn)老板鍵功能
主要實現(xiàn)目標(biāo):為多個指定的程序?qū)崿F(xiàn)統(tǒng)一的老板鍵,一鍵隱藏多個指定的應(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 老板鍵功能的實現(xiàn)步驟的詳細(xì)內(nèi)容,更多關(guān)于python 老板鍵功能的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 存儲于xml中需要的HTML轉(zhuǎn)義代碼2. python 浮點數(shù)四舍五入需要注意的地方3. Java GZip 基于內(nèi)存實現(xiàn)壓縮和解壓的方法4. python開發(fā)一款翻譯工具5. 利用CSS制作3D動畫6. jsp+servlet簡單實現(xiàn)上傳文件功能(保存目錄改進(jìn))7. Springboot 全局日期格式化處理的實現(xiàn)8. 完美解決vue 中多個echarts圖表自適應(yīng)的問題9. SpringBoot+TestNG單元測試的實現(xiàn)10. JAMon(Java Application Monitor)備忘記
