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

如何将自定义Python程序添加到Windows10右键菜单并传递选中文本给它

需求可行性回答

这个需求完全可实现,你之前参考的是文件资源管理器的右键菜单配置,面向的是文件处理场景,和全局选中文本的调用场景存在差异,调整实现逻辑即可解决参数传递问题。

实现步骤

1. 调整右键菜单的注册表配置

你需要把菜单加到文本选择对应的注册表路径下,才能让选项在任意场景选中内容后右键时出现:

  • 打开注册表编辑器,定位到 HKEY_CLASSES_ROOT\Text\shell
  • 新建项,命名为你想要显示的菜单名(比如「单词计数」)
  • 在这个项下面再新建名为command的项,修改默认值为后续的触发命令

2. 实现选中内容的传递逻辑

Windows没有提供直接把选中内容作为命令行参数传给外部程序的原生机制,这里用最简便的剪贴板中转方案实现:
触发菜单时先模拟Ctrl+C把选中内容复制到剪贴板,再由Python程序读取剪贴板内容即可,command的默认值填写如下内容(替换为你自己的Python脚本路径):

powershell.exe -Command "Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.SendKeys]::SendWait('^c'); Start-Sleep -Milliseconds 100; python C:\你的脚本路径\word_count.py"
  • 命令中的^c对应Ctrl+C的模拟按键
  • 100ms的延迟是为了确保剪贴板写入完成再启动Python脚本,可根据自己设备性能调整

3. Python脚本编写

首先安装剪贴板读取依赖:
pip install pyperclip

脚本示例代码:

import pyperclip
import tkinter as tk
from tkinter import messagebox

# 读取剪贴板内容
selected_text = pyperclip.paste().strip()
if not selected_text:
    count = 0
else:
    # 按空格、换行等空白字符分割统计单词数,可根据自己的计数规则调整
    count = len(selected_text.split())

# 弹出结果提示
root = tk.Tk()
root.withdraw() # 隐藏主窗口
messagebox.showinfo("单词计数结果", f"选中文本总单词数:{count}")

可选优化

如果不想依赖Python环境,可使用pyinstaller -w -F word_count.py把脚本打包成独立exe,把command里的Python启动命令替换为exe路径即可,-w参数可以避免运行时弹出黑框。

内容的提问来源于stack exchange,提问作者austinw

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:30:00