使用Java添加系统右键菜单---修改篇
来源:互联网 发布:淘宝怎么关联小号 编辑:程序博客网 时间:2024/06/07 02:26
测试发现了些BUG,已经修复如下:
/**
*Java 操作注册表,为文件夹添加右键菜单cmd
*author: zhouh
*/
import java.io.UnsupportedEncodingException;
import com.ice.jni.registry.NoSuchKeyException;
import com.ice.jni.registry.RegStringValue;
import com.ice.jni.registry.Registry;
import com.ice.jni.registry.RegistryException;
import com.ice.jni.registry.RegistryKey;
public class RegisterManager{
/*定义目录字符串*/
// private static String dir = "Directory//shell";
private static String dir = "Folder\\shell";
/*注册表键对象*/
private static RegistryKey rkey;
/*为dir添加set和get方法*/
public String getDir() {
return dir;
}
public void setDir(String dir) {
this.dir = dir;
}
/*构造函数,打开HKEY_CLASSES_ROOT中的dir*/
private RegisterManager() {
rkey = Registry.openSubkey(Registry.HKEY_CLASSES_ROOT,
dir , RegistryKey.ACCESS_WRITE);
}
/*创建子目录方法*/
public void createSubDir(String subDirName,String key, String defaultValue) throws RegistryException {
/*根据传入的参数创建子目录*/
rkey.createSubKey(subDirName, "");
/*打开当前创建的子目录,设置为可写状态*/
rkey = Registry.openSubkey(Registry.HKEY_CLASSES_ROOT,dir+"\\"+subDirName, RegistryKey.ACCESS_WRITE);
/*设置当前子目录的默认注册表项的值*/
rkey.setValue(new RegStringValue(rkey, key, defaultValue));
/*重新设置当前目录,为方便此目录下再添加子目录*/
this.setDir(dir+"\\"+subDirName);
}
public static void main(String[] args) throws NoSuchKeyException, RegistryException,
UnsupportedEncodingException{
/*创建对象*/
RegisterManager rm = new RegisterManager();
/*创建子项CommandPrompt,默认的value值为cmd, 那么在文件夹的右键菜单下即会显示cmd*/
rm.createSubDir("CommandPrompt", "", "Test_DOS");
/*在CommandPrompt项下创建子项Command,值为(cmd.exe /k cd /"%1/") 也就是单击cmd所要执行的操作*/
rm.createSubDir("Command", "", "cmd.exe /k cd \"%1\" ");
//Explorer.exe /e,/root,%L
}
/**
*Java 操作注册表,为文件夹添加右键菜单cmd
*author: zhouh
*/
import java.io.UnsupportedEncodingException;
import com.ice.jni.registry.NoSuchKeyException;
import com.ice.jni.registry.RegStringValue;
import com.ice.jni.registry.Registry;
import com.ice.jni.registry.RegistryException;
import com.ice.jni.registry.RegistryKey;
public class RegisterManager{
/*定义目录字符串*/
// private static String dir = "Directory//shell";
private static String dir = "Folder\\shell";
/*注册表键对象*/
private static RegistryKey rkey;
/*为dir添加set和get方法*/
public String getDir() {
return dir;
}
public void setDir(String dir) {
this.dir = dir;
}
/*构造函数,打开HKEY_CLASSES_ROOT中的dir*/
private RegisterManager() {
rkey = Registry.openSubkey(Registry.HKEY_CLASSES_ROOT,
dir , RegistryKey.ACCESS_WRITE);
}
/*创建子目录方法*/
public void createSubDir(String subDirName,String key, String defaultValue) throws RegistryException {
/*根据传入的参数创建子目录*/
rkey.createSubKey(subDirName, "");
/*打开当前创建的子目录,设置为可写状态*/
rkey = Registry.openSubkey(Registry.HKEY_CLASSES_ROOT,dir+"\\"+subDirName, RegistryKey.ACCESS_WRITE);
/*设置当前子目录的默认注册表项的值*/
rkey.setValue(new RegStringValue(rkey, key, defaultValue));
/*重新设置当前目录,为方便此目录下再添加子目录*/
this.setDir(dir+"\\"+subDirName);
}
public static void main(String[] args) throws NoSuchKeyException, RegistryException,
UnsupportedEncodingException{
/*创建对象*/
RegisterManager rm = new RegisterManager();
/*创建子项CommandPrompt,默认的value值为cmd, 那么在文件夹的右键菜单下即会显示cmd*/
rm.createSubDir("CommandPrompt", "", "Test_DOS");
/*在CommandPrompt项下创建子项Command,值为(cmd.exe /k cd /"%1/") 也就是单击cmd所要执行的操作*/
rm.createSubDir("Command", "", "cmd.exe /k cd \"%1\" ");
//Explorer.exe /e,/root,%L
}
}
0 0
- 使用Java添加系统右键菜单---修改篇
- 使用Java添加系统右键菜单
- 使用Java添加系统右键菜单
- 使用Java添加系统右键菜单--详解版
- 添加右键系统菜单
- 系统栏添加右键菜单:
- java右键菜单的添加
- 通过修改注册表添加IE右键菜单
- 通过修改注册表添加IE右键菜单
- 系统右键菜单的注册表修改
- 右键菜单添加“使用NotePad++编缉”
- arcengine onmouseup使用contextmenustrip添加右键菜单
- 添加右键菜单:编译java文件
- JAVA Jtable 添加右键菜单 参考代码
- [技巧分享-软件使用] Beyond Compare添加到系统右键菜单
- 树的右键菜单包括添加、修改、删除的地址
- 添加右键菜单
- 怎样添加右键菜单?
- Sidekiq最佳实践
- Windows平台使用VDS获取主机端IQN
- 数字变为字符串
- form表单的ajax提交【组装json】
- 前端开发框架对比
- 使用Java添加系统右键菜单---修改篇
- Android4.4——InputManagerService之InputReader线程
- Android调用系统相机和自定义相机实例
- c语言从文件中读入格式化数据并存入sqlite3
- IBM 笔记本错误对应码
- riot.js学习【四】表达式+Boolean属性
- 输入一串字符串,其中有普通的字符与括号组成(包括‘(’、‘)’、‘[’,']'),要求验证括号是否匹配,如果匹配则输出0、否则输出1.
- Canny边缘检测算法原理及其VC实现详解(三)
- list类集