1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| from win32gui import GetForegroundWindow, SetForegroundWindow
from pynput.keyboard import Controller, Key, GlobalHotKeys
from tkinter import Tk, Listbox, Frame, Toplevel, Label
from tkinter import Scrollbar, Y, LEFT, RIGHT, END
from time import sleep
from clipboard import paste, copy
keyboard = Controller()
global fenetrecoller
global var
# fenetrecoller = ''
var = []
def coller():
global fenetrecoller
fenetrecoller = GetForegroundWindow()
def metdansvar():
global var
Lb.delete(0, END)
sleep(0.25)
var.append(paste())
if len(var) > 20:
for i in range(len(var)-20, len(var)):
Lb.insert(i, var[i])
else:
for i in range(len(var)):
Lb.insert(i, var[i])
Lb.bind('<ButtonRelease-1>', clic)
def clic2(evt):
sleep(0.25)
i = Lb.curselection()
copy(Lb.get(i))
if fenetrecoller != '':
keyboard.press(Key.alt)
SetForegroundWindow(fenetrecoller)
keyboard.release(Key.alt)
with keyboard.pressed(Key.ctrl):
keyboard.press('v')
keyboard.release('v')
def ask4name():
keyboard.release(Key.alt)
ask = Toplevel(root)
label = Label(ask, text='merci de faire le premier Ctrl V tout seul pour que'
' je sache ou vous voulez copier les autres')
label.pack()
def clic(evt):
sleep(0.25)
i = Lb.curselection()
copy(Lb.get(i))
keyboard.press(Key.alt)
try:
SetForegroundWindow(fenetrecoller)
except NameError:
ask4name()
finally:
keyboard.release(Key.alt)
keyboard.press(Key.ctrl)
keyboard.press('v')
keyboard.release('v')
keyboard.release(Key.ctrl)
with GlobalHotKeys({'<ctrl>+c': metdansvar,
'<ctrl>+v': coller}) as h:
root = Tk()
root.title('shortcut to fill RIT')
f1 = Frame(root)
Lb = Listbox(f1)
Sc = Scrollbar(f1)
Sc.config(command=Lb.yview)
Lb.config(yscrollcommand=Sc.set, width=50, height=10)
Lb.pack(side=LEFT, fill=Y)
Sc.pack(side=RIGHT, fill=Y)
f1.pack()
Lb.bind('<ButtonRelease-1>', clic)
root.mainloop()
h.join() |
Partager