现在的位置: 首页 > 综合 > 正文

使用Java添加系统右键菜单

2013年07月02日 ⁄ 综合 ⁄ 共 2520字 ⁄ 字号 评论关闭

 

注:ICE_JNIRegistry.dll 和registry.jar这两个文件可在我的资源中下载

 

    如果你在系统中需要经常使用DOS进入某个文件夹,一般的做法就是打开”运行”,在命令文本框中输入cmd,然后再在出现的

DOS界面中输入要达到的文件夹的路径。有没有更好的办法呢?比如说右击一个文件夹,将出现一个菜单项为“命令提示符”,单击

此菜单项则会直接进入DOS,而且DOS提示的当前路径也就是文件夹的路径。 要达到这个目的,修改注册表即可。当然我们这里讨论

的是如何使用JAVA 来做到这点。其实就是使用JAVA来操作注册表。
使用JAVA操作注册表的方法有几种,最简单的方法就是使用JAVA本身提供的API 来操作,即java.util.prefs,使用其中的类

Preferences,但是如果使用自带的API则只能在 Win32 下用来操作 HKCU/Software/JavaSoft 和 HKLM/Software/JavaSoft 下及子节

点的数据。如果需要达到添加右键菜单的功能,必须修改HKEY_CLASSES_ROOT子键内容。也就是说JAVA自带的API做不到自由访问注册

表的键值。不过JAVA提供了一个很好的方式称为JNI,实际上就是通过C或C++提供的方法操作注册表,它们所写的程序可生成DLL文件

,然后在JAVA中调用DLL。这里关于如何使用C或C++就不多说了,网上也有成堆的文章,想了解的可以去看看。在这里我使用一个开

源的项目gdapi。以下把使用的详细步骤介绍一下
第一步、把论坛上的registry-3.1.3.zip下载到本机
第二步、将registry-3.1.3.zip解压,解压之后会产生目录bin, classes, doc, source。这里只需要bin目录,打开bin目录,在其

中会有两个文件ICE_JNIRegistry.dll 和registry.jar
第三步、新建一个工程,你可以采用任意开发工具,这里采用MyEclipse。打开MyEclipse新建一个Java Project, 然后将

registry.jar包添加到工程中来,并且将ICE_JNIRegistry.dll文件复制到工程的根目录下。
第四步、编写Java代码调用dll. 实现右击文件夹时将”命令提示符”添加到右键菜单下。
        首先要确定需要修改的注册表项为HKEY_CLASSES_ROOT//Directory//shell

具体Java代码如下:

复制代码运行结束后,找到任意一个文件夹,右击此文件夹将会出现cmd菜单项,选择此项将会进入dos,当前目录为此文件夹的目录

 

抱歉!评论已关闭.