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 1.8 kB

2 years ago
2 years ago
12345678910111213141516171819202122232425262728293031323334353637383940
  1. import subprocess
  2. import os,sys
  3. def getFile(ruleFile):
  4. if getattr(sys, 'frozen', False):
  5. absPath = os.path.dirname(os.path.abspath(sys.executable))
  6. elif __file__:
  7. absPath = os.path.dirname(os.path.abspath(__file__))
  8. else:
  9. absPath = ''
  10. return os.path.join(absPath,ruleFile)
  11. def send_notifycation (content: str = '', title: str = 'New notifycation',
  12. tip_type: str = 'None', duration: int = 3) -> None:
  13. """
  14. 【功能】模拟windows发系统通知
  15. 【参数】
  16. content: str 必选,通知内容
  17. title: str 可选,通知标题
  18. tip_type: str 可选,通知类型[None|Info|Warning|Error]
  19. duration: int 可选,停留时长,单位(秒)
  20. 【输入/输出】 None
  21. """
  22. d = {}
  23. for c in (65, 97):
  24. for i in range(26):
  25. d[chr(i+c)] = chr((i+13) % 26 + c)
  26. s = ''
  27. s += "shapgvba Fraq-Abgvsvpngvba{cnenz ([Fgevat] $pbagrag='Abgvsvpngvbaf',"
  28. s += "[Fgevat] $gvc_gvgyr='Arj abgvsvpngvba',[Fgevat] $gvc_glcr='Abar',"
  29. s += "[Vag32] $qhengvba=3);cebprff{Nqq-Glcr -NffrzoylAnzr Flfgrz.Jvaqbjf"
  30. s += ".Sbezf;$nffrzoyl='Flfgrz.Jvaqbjf.Sbezf.AbgvslVpba';$abgvsl=Arj-"
  31. s += "Bowrpg $nffrzoyl -Cebcregl @{Vpba=[Flfgrz.Qenjvat.FlfgrzVpbaf]::"
  32. s += "Vasbezngvba;OnyybbaGvcVpba=$gvc_glcr;OnyybbaGvcGvgyr=$gvc_gvgyr;"
  33. s += "OnyybbaGvcGrkg=$pbagrag;Ivfvoyr=$gehr};$abgvsl.FubjOnyybbaGvc"
  34. s += "($qhengvba)}};Fraq-Abgvsvpngvba -pbagrag '%f' -gvc_gvgyr '%f' "
  35. s += "-gvc_glcr '%f' -qhengvba %f"
  36. subprocess.Popen(["PowerShell", '-ep', 'Unrestricted', '-nop',
  37. '-win', 'Hidden', '-c', '& {%s}' % (
  38. "".join([d.get(c, c) for c in (s)]) % (
  39. content, title, tip_type, duration))
  40. ])