You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 17:01:09