请问大家
有没有这样一个软件可以把一台电脑上收到的桌面通知(右下角那个)转发到另外一台电脑啊?
谢谢!
请问大家
有没有这样一个软件可以把一台电脑上收到的桌面通知(右下角那个)转发到另外一台电脑啊?
谢谢!
大概的原理可以分为 3 步:
详细信息、调用的 Windows API 可见:Windowsの通知センターの内容を取得する(通知リスナー) #C# - Qiita
NotificationListenerThrower 可监听 Windows 通知,并架设 Websocket 服务端供其他设备查看、接收通知。
服务端需要取消 Local Only 选择,并在防火墙放通 TCP 8000 端口。
客户端没有找到现成的。可以使用 Python 编写一个 Websocket 监听程序,接收服务端通知。拼凑 CV 一下网上的代码(Python3):
from win10toast import ToastNotifier
import asyncio
import websockets
import json
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-s","--server",type=str,default="127.0.0.1:8000",help='指定服务器IP及端口,例如:192.168.168.1:8000')
args = parser.parse_args()
async def client():
wss_url = 'ws://'+ args.server
conn_handler = await websockets.connect(wss_url,ping_interval=None)
await conn_handler.send(wss_url)
response = json.loads(await conn_handler.recv())
if('ping' in response):
print(args.server+",连接成功")
while True:
response = json.loads(await conn_handler.recv())
if('id' in response):
print("收到通知:【"+response["title"]+"】"+response["body"])
toaster = ToastNotifier()
toaster.show_toast(response["title"],
response["body"],
icon_path='icon.ico',
duration=10)
asyncio.get_event_loop().run_until_complete(client())
客户端编译好的文件:https://musetransfer.com/s/92xdseomm
使用时加上 -s 参数设置服务端。例如:
NotificationClient.exe -s 192.168.168.1:8000
效果图,左侧客户端,右侧服务端:
客户端二次开发还可以将 Windows 通知信息使用 Bark、Server 酱等工具转发至 iOS 、Andorid 设备。
已知问题:
这,大佬您也太牛了吧
我其实就想找个现成的用用的,看有没有人推荐
还麻烦您现编个程序出来,真是不好意思了!辛苦啦!
KDE connect应该可以试试
大佬,客户端下载链接失效了,另外这个开发到使用Bark推送要改的代码多吗