Files
TransPyC/_toast_gen.py
T

20 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
"""生成并发送 toast 通知"""
import base64, subprocess
ps = (
"Add-Type -AssemblyName System.Runtime.WindowsRuntime\n"
"[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null\n"
"[Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime] | Out-Null\n"
"$t = 'vpi CArray count 生成 bug 已修复'\n"
"$b = 'StubConverter._PyiTypeStr Constant 分支把数字常量 64/4 误输出 t.CInt,致 t.CArray[..., t.CInt] 加载 TypeError;已改为输出数值本身'\n"
"$xml = [Windows.Data.Xml.Dom.XmlDocument]::new()\n"
"$xml.LoadXml('<toast><visual><binding template=\"ToastText02\"><text id=\"1\">' + $t + '</text><text id=\"2\">' + $b + '</text></binding></visual></toast>')\n"
"$toast = [Windows.UI.Notifications.ToastNotification]::new($xml)\n"
"[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier('TraeCode').Show($toast)\n"
)
b64 = base64.b64encode(ps.encode('utf-16-le')).decode()
r = subprocess.run(['powershell', '-NoProfile', '-EncodedCommand', b64],
capture_output=True, text=True)
print('rc=', r.returncode)