import
base64
import
sys
import
threading
from
io
import
BytesIO
from
pynput.mouse
import
Listener as MouseListener
from
pynput.keyboard
import
Listener as KeyboardListener, Controller, Key
import
os
import
subprocess
import
winreg
import
tkinter as tk
from
tkinter
import
messagebox
import
time
from
pystray
import
Icon, MenuItem, Menu
from
PIL
import
Image, ImageDraw
TIME_LIMIT
=
3
*
60
last_activity_time
=
time.time()
def
on_move(x, y):
global
last_activity_time, run_status
run_status
=
True
last_activity_time
=
time.time()
print
(last_activity_time)
def
on_click(x, y, button, pressed):
global
last_activity_time, run_status
run_status
=
True
last_activity_time
=
time.time()
def
on_scroll(x, y, dx, dy):
global
last_activity_time, run_status
run_status
=
True
last_activity_time
=
time.time()
def
on_press(key):
global
last_activity_time, run_status
run_status
=
True
last_activity_time
=
time.time()
def
get_wechat_install_path_from_registry():
try
:
key
=
winreg.OpenKey(winreg.HKEY_CURRENT_USER, r
"Software\Tencent\WeChat"
)
install_path, _
=
winreg.QueryValueEx(key,
"InstallPath"
)
winreg.CloseKey(key)
wechat_path
=
os.path.join(install_path,
"WeChat.exe"
)
return
wechat_path
except
FileNotFoundError:
print
(
"未找到微信安装路径"
)
return
None
def
check_inactivity():
global
last_activity_time, run_status
while
True
:
time.sleep(
1
)
current_time
=
time.time()
if
current_time
-
last_activity_time > TIME_LIMIT:
print
(f
"超过{TIME_LIMIT / 60}分钟没有操作..."
)
subprocess.Popen(get_wechat_install_path_from_registry())
with keyboard_controller.pressed(Key.ctrl):
keyboard_controller.press(
'l'
)
keyboard_controller.release(
'l'
)
run_status
=
False
break
def
on_quit(icon, item):
icon.stop()
sys.exit()
def
set_tray():
menu
=
Menu(MenuItem(
'退出'
, on_quit))
base64_encoded_icon
=
"AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACs+RwAiLDEAJDA2VRsdHvsZGBj/Gx0e/2Ggr/+I6f//heP5/2CgsP9BaXn/UI+s/2S75f9tz///btD//23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///1q16f9FmdL/U6vh/2vM/f9t0P//bc///23P//9tz///bc///23P//9t0P//bM7+/2TB9f9Zruj/V6zm/1Wn3/8rRVb/GBcW/xkZGf8fJirLNFRlEzJQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwTFgAJDA1ACY1PEYbHR70GRkZ/xkZGf9NfYr/f9/9/3zc/v921///b9D+/27R//9u0P//bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bdD//2TD9f9IndX/TKLZ/2fG+P9t0P//bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///Ybzx/1iu6P9Nk8T/ISwz/xkYF/8ZGRn/HiMmszpicwk1VmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP3CDACc4QQApPUYeHSEj2BkZGf8YGBj/Iy0y/1egwv9u0f//bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23Q//9iwPL/TqXb/2G/8f9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///2jI+v9Wqd//MlVs/xkZGf8ZGRn/Ghob/yEqLoQAAAAALktWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxoegA1U2QAVZe8AiIsMYcaGxv/GRkZ/xgXF/8pPUb/X7DY/27R//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bM7+/2rL/P9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23Q//9oxPP/OWN9/xsdH/8ZGRj/GRkZ/xwgIuEoOkIyIy4zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgI8AMUpZACc4QAAqP0kfHSMlwRkZGf8ZGRn/GBcX/zFOW/9lvur/btD//23P//9tz///bc///23P//9tz///bc///23P//9tz///a839/2jJ+v9szv7/bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9u0P//Toup/xwgIf8ZGBj/GRkZ/xocHfQiLDFodN3/ATRUYwBNiaoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACo6QwAAAAAAGxwdACEqLjAbHR7TGRkZ/xkZGf8ZGhr/O2N2/2nF8/9t0P//bc///23P//9tz///bc///23P//9tz///Z8b4/1St4v9Modn/ZMP1/23Q//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bMz7/zVWZv8YFhX/GRkZ/xocHfkiLDKFTIinBC1EUAAQCwkAP2d8AD1legAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7YXUAMEtYADxhdgATDgoAJDE3ShwfIOYZGRn/GRgY/xsdHv9Ed5D/bMz7/23P//9tz///bc///23P//9tz///a8z8/1Cn3v9FmNH/UKfd/2jI+f9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///2vL+v8yT13/GBYV/xkZGf8bHR33ISoupSY1PEsyTl0QHSMmADVTZAAvSFYAGBscADlgcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY1PAAyTFsAMUxaAAAAAAAgJythGhsc8hkZGf8ZGBj/HiUo/1CQsP9t0P//bc///23P//9tz///bc///2zN/v9ct+v/XLfr/2nK+/9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///Q3SN/xkYGP8ZGRn/GRkZ/xkaGv8bHR/0HyYqtCc3P0BcqNECKj5IACIsMQBAbYQAJjY9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQGh+AC1ETwArQEsAOl5xBSEpLn8aHBz3GRkZ/xgWFv8uRlL/aMTx/23Q//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///btD//2K44v8wS1j/GRkZ/xgXF/8ZGRj/GRkZ/xkZGf8cHyHnIiwyfi9KVhIhKy8AGhwcACs9RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOmB0ADJQXQBIgp0AJzY+AAAAAAArP0owHSEkzRkZGf8YFxf/IzA2/2K34f9u0P//bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9t0P//Y7nk/0Fzkf8nO0n/Gx4g/xkYF/8ZGRn/GRkZ/xocHPwfJimkIiwxGSQwNgAhLDEAS46lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJDIWAC1ETwAwSlgADwEAACo+SCMiLDGAHSEj1hobG/oZGRn/GBcW/yc3P/9kvOf/btD//23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///27Q//9pyfz/Vqfb/0B3nf8kOEX/GRob/xkYGP8ZGRn/GRoa/x0iJKctRFARKDlCACtCTQAhkYcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPWBzACo9RgAtQk0ASX+bAyUzOlQdIiXPGhsb/xkZGf8ZGRn/GBgX/xkZGv9Ccon/bM38/23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///2fG+f9Rp+D/QYy//zJadv8cIST/GRgY/xkZGf8aGxz8ISsvgD9vhAQvS1gARHmRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO2R3ADdVZQAvR1QAOFlrBiItM3AcHiDtGRkZ/xkZGf8YGBj/GRgY/yIsMf8/bIH/ZsHt/23Q//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9hvvH/SJ3V/0ic1v9Tpt7/P3KW/x0jJ/8ZGBj/GRkZ/xwfIegnNz84Iy40ACs7RQA+aoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBLWABDbIMAAAAAACQxOF0bHh/zGRkZ/xkZGf8YFxf/ISsv/z5off9cq9L/a8z7/23Q//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9gvfD/Sp7W/0eb1P9UquL/V63n/1er5f84Y4H/Ghsb/xkZGf8aGhr/ISsvi6T//wE5WmwAPGR5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0VGQAKTxGACtBSyMdIyXSGRkZ/xkZGf8aGxz/MUxa/1mjyP9szfz/btH//23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23Q//9kw/X/SZ7W/0ib1P9cuOz/ZcL1/1it5/9Xrej/SpTH/yEwOv8ZGBf/GRkZ/x0iJNUsQEsfKTxFAEBthAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWqLBABgYGAAjLzVfGhwc/BkZGf8ZGBj/NVZm/2W+6v9u0f//bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///ZsX2/1Ss4v9gvfD/bc///2zN/v9dtu3/Vanj/0ic1f8uVXD/GRgY/xkZGf8bHR74JTI5UCAnKwAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpgcACG//8BHiUolxkZGv8ZGBj/ICgs/1mlyv9u0v//bc///23P//9tz///bc///23P//9tz///bdD//23Q//9tz///bc///23P//9t0P//btH//27Q//9u0P//btL//27S//9u0f//bdD//23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9szv7/bc///23P//9t0P//ZcP2/06i2/9GmtT/Pnul/xwgI/8ZGBj/GRoa/yEqLoYAAAAAMlFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1V2YAOmFzDR8mKbwZGRn/GBcW/ytBS/9nwu//bdD//23P//9tz///ZMP1/1m06P9qyvv/bc///2LA8/9jwfP/bc///23P//9t0P//aMXy/1KUtf9Bb4b/QnKK/0+NrP9WncD/XavS/2fC7/9t0P//bc///23P//9tz///bc///23Q//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bM7+/1u26v9GmdL/Sp/Y/0+bzv8kMjz/GBcX/xkZGf8eIya1OFxtCjNTYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALERPAC9IVRMfJSjNGRkZ/xgXFv8xTFr/acf1/23Q//9tz///bdD//1u26v9GmdL/X7vv/2vN/f9Ppt3/S6DX/2bF9/9u0P//acXz/zxleP8cHyH/GBcX/xgYF/8aGxz/HCAi/yApLf8tRFD/To2r/2vL+f9t0P//bc///2nK+/9lxPb/bM39/23P//9tz///bc///23P//9tz///bc///23P//9tz///bM3+/1u26v9Hm9P/SJzV/1Sp4/9Vpt7/KkBQ/xgXFv8ZGRj/HiUozDVVZRUzU2IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC9JVgAyTlwSHyYqyxkZGf8YFxb/MEtY/2nH9f9t0P//bc///23Q//9jwfP/R5vU/0yi2v9kwvT/XLjs/0aZ0v9UrOL/bM7//1CQr/8bHiD/GRgY/xkZGf8ZGRn/GRkZ/xkYGP8YGBj/GBYW/x4kJ/9Pjaz/bM7//2G+8f9Opdz/Sp/X/2TD9f9t0P//bc///23P//9tz///bc///23P//9tz///a839/1m06P9GmdL/S6DY/1y27P9Yruj/Vajg/y1IW/8YFxb/GRkZ/x4kJ9YvSVUaLkdTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1VWUAPGR4CR8mKbIZGRn/GBcX/yc4QP9kvOf/btD//23P//9tz///bM3+/1ex5v9GmtL/Vq/k/2rL+/9Rqd//RZjS/1ew5f85YHP/GBcW/xkZGf8aGxv7Gx4f8hobG/saGxv/GRoa/xkZGf8YFxb/K0RR/0+i1f9Hm9T/R5vT/1ex5v9qy/z/bc///23P//9tz///bc///23P//9tz///bdD//2PC9P9InNT/TaTb/2TC9P9qyfv/WbDp/1Wo4f8uSl7/GBcW/xkZGf8eIybaLEFMHCtASgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO2F1AAAAAAAhKzB/Ghoa/xkYGP8dIST/VJq8/27R//9tz///bc///23P//9rzP3/YsDy/2bG9/9t0P//Zsb3/0+l3f9Dkcb/JDhE/xgXF/8ZGRn/HiQo0yc4QEsiLDFbJTM5eB8nKsQZGhr/GRgY/x0lKv8+g7H/UKng/2G+8f9szv7/bc///23P//9tz///bc///23P//9tz///bc///23P//9qy/v/X7vv/2fH+P9t0P//a8z9/1uz6/9Vp9//LEZX/xgXFv8ZGRn/HiUozjNRXxYyT10AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAgKS0AJjQ8QhseH/AZGRn/GBcX/zdbbP9qyvj/bdD//23P//9tz///bc///27Q//9tz///bc///27R//9nx/n/Pneb/xsgI/8ZGBj/GRka/yAoLJ+d//8BGRkZABAHAgAkMThkGhsc/RkZGf8aGxz/SISk/2zO//9t0P//bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23Q//9tz///bc///2zN/f9ctez/U6Pa/yg7Sf8YFxb/GRkZ/x0hI7g2WGkLNFNiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCdI0AL0hUADJPXBAfJSi9GRkZ/xkYGP8eJCf/UZOz/27R//9u0f//bdD//23Q//9t0P//btH//27R//9nwu7/SoSg/yItMv8ZGBj/GRkZ/xsdHfckMjhVGx0eAAAAAAAmNj0AKDlCNRwfIOsZGRn/GBcX/zxleP9szv3/bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9szf3/XbXt/06Yy/8iLTb/GBgX/xkZGv8fJimeVp3BAi1FUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO2Z6AEh+lgAOAgAAJDE3YBscHfgZGRn/GBgX/yQxN/9Kg5//Yrfg/2nG8/9px/X/Z8Pv/12s0/9JgJz/L0hU/xseH/8YGBj/GRkZ/xkZGf8eJCezL0lWESxDTgA5YHMALENOAC9IVRIeJCbGGRkZ/xgXF/8nNz//Yrji/27Q//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bM39/1227v9Fgqz/HCAi/xkYGP8aGxv/ISswbwwAAABBboUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBzjAA2WWkALENOADFLWREfJiqzGRka/xkZGf8YGBf/Ghwd/yUzOv8vSFT/MEtY/ytBTP8hKy//GRoa/xgXFv8ZGRj/GRkZ/xoaG/8eJCbCKDlCLB4kJwAAAAAAOWFzADtidAAAAAAAIiwwghoaG/8ZGRn/Gxwd/02Kp/9u0f//bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///2rL/P9aser/Nl56/xkYGP8ZGRn/Gx4f8ic2P0MkMDYANFRkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOl9yAAAAAAAdISMAJzc/MR0jJckZGhr/GRkZ/xkZGf8YFxf/GBcW/xgXFv8YFxb/GBgY/xkZGf8ZGRn/GRoa/xweIOwhKi6UKj9IIxkbGgBmvekAPGR4AAAAAAAwSlYAJDA2ACg4QDgcHyDrGRkZ/xgXFv8wS1j/Z8Pw/23Q//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9oyPv/UJrL/yQyPP8YGBf/GRkZ/x4jJsgvR1MVLEJNAFiQqQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7YnYATIekABsgIgApPEYoICgsoxseH/IZGhr/GRkZ/xkZGf8ZGRn/GRkZ/xkaGv8aHBz7HSEj3yApLZsmNj1BQG6CBiY1PAD///8AN1lrADVXaAAAAAAAToSiADFMWQA3WGkLHyYqsBkZGf8ZGBj/HB8h/0+OrP9u0f//bc///23P//9tz///bc///23P//9tz///bc///23P//9tz///bc///23P//9t0P//ZMD0/zdhff8ZGRr/GRkZ/xoaG/8iKzCCAAAAADhbbQBHcYMAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////////////+AP////////AAH///////wAAf//////+AAA///////gAAB//////8AAAB//////gAAAAAP///8AAAAAAf///wAAAAAAf//+AAAAAAB///wAAAAAAD///AAAAAAAH//8AAAAAAAf//gAAAAAAB//+AAAAAAAH//4AAAAAAAf//gAAAAAAB//+AAAAAAAH//4AAAAAAAf//gAAAAAAB//+AAAAAAAH//4AAAAAAAf//wAAAAAAA///AAAAAAAA//+AAAAAAAB//8AAAAAAAH//gAAAAAAAP/8AAAAAAAAf/gAAAAAAAB/8AAAAAAAAD/wAAAAAAAAP/AAAAAAAAA/8AAAAAAAAD/wAAAAAAAAP/AAAAAAAAA/8AAAAAAAAD/wAAAAAAAAP/AAAAAAAAA/8AAAAAAAAD/wAAAAAAAAP/AAAAAAAAA/8AAAAAAAAD/wAAAAAAAAP/gAABAAAAA//AAAEAAAAD/8AAAwAAAAf/4AAPgAAAB//4AD+AAAAH/////8AAAA//////wAAAH//////gAAAf//////AAAH//////+AAB////////AB//////////////////////////////////////////////////////////////////8="
image_data
=
base64.b64decode(base64_encoded_icon)
image
=
Image.
open
(BytesIO(image_data))
icon
=
Icon(
"MyTrayIcon"
, image,
"微信自动锁定"
, menu
=
menu)
icon.run()
def
main_program():
run_status
=
True
while
True
:
if
run_status:
check_inactivity()
if
__name__
=
=
"__main__"
:
mouse_listener
=
MouseListener(on_move
=
on_move, on_click
=
on_click, on_scroll
=
on_scroll)
mouse_listener.start()
keyboard_listener
=
KeyboardListener(on_press
=
on_press)
keyboard_listener.start()
keyboard_controller
=
Controller()
main_thread
=
threading.Thread(target
=
main_program, daemon
=
True
)
main_thread.start()
set_tray()