You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

utils.py 2.5 kB

2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import subprocess
  2. import os,sys
  3. import pyautogui as pg #没别的作用就单纯换个名字
  4. import threading
  5. def getFile(ruleFile):
  6. if getattr(sys, 'frozen', False):
  7. absPath = os.path.dirname(os.path.abspath(sys.executable))
  8. elif __file__:
  9. absPath = os.path.dirname(os.path.abspath(__file__))
  10. else:
  11. absPath = ''
  12. return os.path.join(absPath,ruleFile)
  13. def send_notifycation (content: str = '', title: str = 'New notifycation',
  14. tip_type: str = 'None', duration: int = 3) -> None:
  15. """
  16. 【功能】模拟windows发系统通知
  17. 【参数】
  18. content: str 必选,通知内容
  19. title: str 可选,通知标题
  20. tip_type: str 可选,通知类型[None|Info|Warning|Error]
  21. duration: int 可选,停留时长,单位(秒)
  22. 【输入/输出】 None
  23. """
  24. d = {}
  25. for c in (65, 97):
  26. for i in range(26):
  27. d[chr(i+c)] = chr((i+13) % 26 + c)
  28. s = ''
  29. s += "shapgvba Fraq-Abgvsvpngvba{cnenz ([Fgevat] $pbagrag='Abgvsvpngvbaf',"
  30. s += "[Fgevat] $gvc_gvgyr='Arj abgvsvpngvba',[Fgevat] $gvc_glcr='Abar',"
  31. s += "[Vag32] $qhengvba=3);cebprff{Nqq-Glcr -NffrzoylAnzr Flfgrz.Jvaqbjf"
  32. s += ".Sbezf;$nffrzoyl='Flfgrz.Jvaqbjf.Sbezf.AbgvslVpba';$abgvsl=Arj-"
  33. s += "Bowrpg $nffrzoyl -Cebcregl @{Vpba=[Flfgrz.Qenjvat.FlfgrzVpbaf]::"
  34. s += "Vasbezngvba;OnyybbaGvcVpba=$gvc_glcr;OnyybbaGvcGvgyr=$gvc_gvgyr;"
  35. s += "OnyybbaGvcGrkg=$pbagrag;Ivfvoyr=$gehr};$abgvsl.FubjOnyybbaGvc"
  36. s += "($qhengvba)}};Fraq-Abgvsvpngvba -pbagrag '%f' -gvc_gvgyr '%f' "
  37. s += "-gvc_glcr '%f' -qhengvba %f"
  38. subprocess.Popen(["PowerShell", '-ep', 'Unrestricted', '-nop',
  39. '-win', 'Hidden', '-c', '& {%s}' % (
  40. "".join([d.get(c, c) for c in (s)]) % (
  41. content, title, tip_type, duration))
  42. ])
  43. mouseX = False
  44. def doNotMove():
  45. global mouseX
  46. mouseX = (mouseX==False) #取反
  47. x,y=pg.position() #核心函数pg.position()
  48. def mouseMove():
  49. pg.moveTo(x,y)
  50. if(mouseX):
  51. global timer
  52. timer = threading.Timer(0.05, mouseMove) # 设定定时器,每 5 秒执行一次 periodic_function
  53. timer.start() # 启动定时器
  54. timer = threading.Timer(0.05, mouseMove) # 设定定时器,每 5 秒执行一次 periodic_function
  55. timer.start() # 启动定时器
  56. def mouseClick():
  57. pg.click()