如何用python 實現老闆鍵功能

2022-09-25 23:30:18 字數 1852 閱讀 8178

主要實現目標:為多個指定的程式實現統一的老闆鍵,一鍵隱藏多個指定的應用程式的視窗及工作列。

i 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()

# 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 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()

# 通過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)

這裡設定f7顯示,f8隱藏,f12中止

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()

# 開啟監聽

pythoncom.pumpmessages()

python實現多型 如何用python實現多型性

建立乙個名為 func 的函式,它將獲取乙個我們將其命名為 obj 的物件。雖然我們使用的名稱是 obj 但是任何例項化的物件都可以被呼叫到這個函式中。用函式實現多型性 class india def capital self print new delhi is the capital of in...

如何用python實現數字轉漢字?

在大多數情況下,漢字都比數字要顯得正式一些。比如說,二零一九年 就比較有官方檔案的味道,而 2019年 則更有個人日記的味道。另外,漢字還可以用來編繞口令!用數字的話就難得多。還是舉個栗子 14是14,40是40。就顯得很 十四是十四,四十是四十。就有一種唇齒生香的感覺。山前有44只石獅子,山後有4...

Python 如何用列表實現棧和佇列

前面學習了列表的基礎知識,本著學以致用的原則,就想著如何通過列表來實現資料結構棧和佇列。x 建立乙個空列表,此處表示棧 x x a x a b x.pop 彈出棧頂元素 b b x a x.pop 彈出棧頂元素 a a x x.pop 試圖對乙個空棧做彈出操作,會報異常 traceback most...