如何向 Java 应用程序的 Windows 资源管理器添加上下文菜单?

2024-03-22

如何为 Java 应用程序添加一个子菜单项到 Windows 资源管理器上下文菜单(例如 7-Zip 就是这样做的)?


我知道有两种方法可以做到这一点。最奇特的方法是编写一个 Windows shell 扩展,我相信这就是 powerarchiver、winzip 等的做法(这涉及运行代码来确定上下文菜单项将依赖于所选文件)。

对于简单的功能,简单的方法是您可以在注册表中添加一个条目:

HKEY_CLASSES_ROOT\<file type>\shell\<display text>\command

Where <file type>是此上下文菜单应应用的文件,即 *、.mdb、.doc

and

<display text>您想要在上下文菜单中显示的内容。

然后将默认字符串添加为要从上下文菜单启动的应用程序的路径,并且您可以使用 %1 来引用当前选定的文件,即对于我使用的 MS Access:

HKEY_CLASSES_ROOT\*\shell\MS Access 2000\command
"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "%1"

然后,这会为我选择的任何文件添加一个上下文菜单项(因此带有 *),这允许我在 MS Access 2000 中启动它。

当然,在破解注册表之前一定要备份它。

您的程序可以在安装期间或首次运行时执行此操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向 Java 应用程序的 Windows 资源管理器添加上下文菜单? 的相关文章

随机推荐

  • Java:在后台更新有大量行的 JTable

    我正在编写一个简单的 Java Swing 实用程序 它将从 MQ JMS 服务器读取消息并将它们显示在 JTable 中 private void getMessages try if null Queue Queue close Clo
  • 如何隐藏 emacs 创建的备份文件?

    我在使用 vi 很长时间后才开始使用 emacs 让我烦恼的一件事是 每当我修改文件 保存它并退出 emacs 时 我都会看到在同一目录中创建一个名为filename 如果我编辑的文件是filename 有什么办法可以摆脱这个吗 或者隐藏这
  • 将预测与 svyglm 结合使用

    我发现了一些奇怪的行为predict和svyglm对象从survey包裹 如果你的新数据在predict具有一个级别的因子 字符会输出错误 Error in contrasts lt tmp value contr funs 1 isOF
  • 如何使用 Ruby MiniTest::Spec 和 Rails 进行 API 集成测试?

    我正在构建一个包含 Rails API 的应用程序 并希望使用 Ruby MiniTest Spec 进行测试 有什么好的设置方法吗 例如 良好的目录组织 包含文件的良好方式等 我正在使用 Rails 3 In Action 一书中的指南
  • 在 Windows 上使用 Emacs 编译 C++ 程序

    我已经使用 Emacs 进行基本文本编辑有一段时间了 但从今天开始 我尝试使用它进行 C 编译 在过去的几个小时里 我一直在寻找如何解决这个问题 但我在他们的技术中不断遇到障碍 我认为其中一些与教程过时有关 基本上 我想做的就是能够通过 M
  • FCM/GCM JSON 有效负载 - 如何指定大图标?

    我正在使用 firebase 端点发送推送通知 它正在成功运行 我正在使用邮递员将请求发送到 FCM 我的问题是我不明白如何发送大图标 FCM 有两种可以发送的有效负载 数据有效负载和通知有效负载 See here https fireba
  • Web 控制浏览器后退按钮

    我正在使用导航 2 和setUrlStrategy PathUrlStrategy 我添加了WillPopScope但是onWillPop单击浏览器的后退按钮时不会调用 Widget build context return WillPop
  • 了解 LISP 中的绑定变量和自由变量

    我正在阅读SICP 又出现了绑定变量和自由变量的话题 然而 我对此感到困惑 术语 绑定变量 仅适用于形式参数变量吗 此外 文本还指出过程定义 绑定 其形式参数 这让我感到困惑 因为有些人说我们将值 绑定 到变量 显然 当我们谈论不同类型的变
  • Gulp 复制空目录

    In my gulp构建我已经创建了一个运行的任务after所有的编译 丑化和缩小都已经发生 此任务只是复制所有内容src进入dest早期任务尚未触及 处理的目录 我遇到的一个小问题是 这会导致目录中出现空目录dest目录 有没有办法告诉g
  • [UWP]调整BitmapImage的大小、压缩并获取base64字符串

    这是我的第一个主题 我正在 UWP 中重写在 Silverlight 8 WP8 中开发的应用程序 我在从 BitmapImage 获取 Base64 编码字符串时遇到问题 我工作了很多天都找不到解决方案 总之我需要 从设备图库中选择图像
  • H2 控制台和 Spring Security - PermitAll() 不起作用

    我正在创建rest api并实现Spring Security 一切正常 但我希望 目前 当我仍在开发时 能够让任何未经授权的人打开localhost 8080 console 我的代码 Override protected void co
  • docker-desktop 使用 12 GB RAM 来运行一个具有 24 MB RAM 的容器?

    在我看来就像 WSL2 容器docker desktop使用 12 GB RAM 来运行一个具有 24 MB RAM 的容器 是什么赋予了 详情如下 另外 当我将所有进程中的所有驻留 RAM VSZ 加起来时docker desktop 总
  • 使用 Node.js 在 Mongodb 中存储 JS 函数时出现问题

    我有一个简单的 JS 类 var User function id this id id this sayHello function return hello 然后 我使用默认的 Node js 驱动程序将其存储在 MongoDB 中 u
  • 在 Razor 中显示表达式值

    我想在剃刀视图中将以下表达式的值显示为文本 doc Extension string Empty ToUpperInvariant 我已经尝试了所有变体 但似乎没有任何效果 我知道我可以使用临时变量来存储该表达式的值 但我想知道是否有一种方
  • 如何解码/重新创建 Google Flights 搜索网址?

    问题 On 谷歌航班 http www google com travel flights 搜索信息被编码在 URL 参数中 这样用户就可以轻松地彼此共享航班搜索 URL 格式如下所示 https www google com travel
  • Spring Boot - RestController 反序列化 YAML 上传?

    如何配置 Spring Boot RestController 来接受 YAML 上传 下面的结果是 415 我从调试中可以看到MappingJackson2HttpMessageConverter我的 Spring 上下文中的实例仅支持
  • 在 React.js 中以组件状态存储表单输入,特别是密码

    有一个关于 React js 中表单的问题 我实际上没有问题 但想知道我的方法是否有任何缺陷 我有一个简单的表单 有两个电子邮件和密码输入 如下所示
  • 如何加速我的 Android-openCV 应用程序?

    我已经实现了一个 openCV 应用程序 我使用 SURF 描述符 它工作正常 代码如下所示 我减小输入视频流的大小以加快速度 capture set Highgui CV CAP PROP FRAME WIDTH display getW
  • 通过excel vba GUI将excel文件导出为txt格式

    我的目标是将excel文件导出为txt文件格式 这个想法是有一个 GUI 让用户选择她 他想要导出的 Excel 文件 并且她 他可以决定保存哪个文件路径和文件名 用户完成输入输出设置后 只需点击导出文本按钮即可将excel文件导出为txt
  • 如何向 Java 应用程序的 Windows 资源管理器添加上下文菜单?

    如何为 Java 应用程序添加一个子菜单项到 Windows 资源管理器上下文菜单 例如 7 Zip 就是这样做的 我知道有两种方法可以做到这一点 最奇特的方法是编写一个 Windows shell 扩展 我相信这就是 powerarchi