如何用Python向Telegram发送可一键打开的Windows mstsc命令链接?
实现Telegram中一键执行Windows远程桌面命令的方法
你的需求可以实现,但Telegram默认不支持直接将Windows本地命令识别为可点击执行的链接,需要通过以下方式解决:
方法一:自定义Windows URL协议(推荐)
Windows允许自定义URL协议,将特定链接关联到本地命令执行,步骤如下:
- 打开注册表编辑器(
regedit.exe),导航到HKEY_CLASSES_ROOT,右键新建项并命名为rdp - 在
rdp项中,设置默认值为URL:Remote Desktop Protocol,再新建字符串值URL Protocol并留空 - 新建子项
shell\open\command,设置默认值为"C:\Windows\System32\mstsc.exe" /v:"%1"(如果需要自动截取IP参数,可编写bat脚本处理:比如创建rdp-launch.bat,内容为mstsc.exe /v:%~1,然后将command的默认值设为"C:\你的脚本路径\rdp-launch.bat" "%1") - 配置完成后,在Telegram消息中发送带链接的文本:
[打开远程桌面](rdp://10.20.30.40),点击链接即可直接触发mstsc命令连接目标IP
方法二:通过Telegram Bot发送带按钮的消息
如果使用Bot发送消息,可以添加Inline按钮,将按钮的url字段设置为自定义协议链接,用户点击按钮后触发本地命令。示例Python代码片段:
import requests bot_token = "你的Bot令牌" chat_id = "目标聊天ID" payload = { "chat_id": chat_id, "text": "点击下方按钮打开远程桌面", "reply_markup": { "inline_keyboard": [ [{"text": "连接10.20.30.40", "url": "rdp://10.20.30.40"}] ] } } requests.post(f"https://api.telegram.org/bot{bot_token}/sendMessage", json=payload)
关键说明
- 自定义URL协议是本地系统设置,需要每个使用的Windows用户单独配置,Telegram本身不提供跨平台的本地命令执行支持
- 自定义协议存在安全风险,请勿随意注册未知协议,避免被恶意程序利用执行危险命令
内容的提问来源于stack exchange,提问作者Whity
相关产品推荐
相关产品推荐

