JAVA写注册表的问题 用JAWIN能读写注册表 但是写只能写项~没法写字符串值 实在是很郁闷只要把路径的值写到注册表里去,社么奇招怪法都行~~~分不够我再加 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用vc写个注册表访问的程序,让java去调 首先声明,转的高手贴,挨骂肯定了,就是希望知识共享,一起讨论他的名字叫realplay(代码录入员),给他分就行了////////////////////////////////////////////////////////////////////////////////////23 楼realplay(代码录入员)回复于 2002-10-12 22:56:25 得分 0 你要下载 Microsoft SDK for Java 4.0 安装完之后 在安装目录下有个 docs目录 你看一下sdkdocs.chm这个帮助文件 里面有关于 com.ms.com com.ms.lang 这些包的应用说明啊 上面的程序只有这一段是有用的 说明: 通过RegKey类,来访问CLASSES_ROOT\Word.Basic\CLSID 的键值 // Get the Registry Key for CLASSES_ROOT RegKey root = RegKey.getRootKey(RegKey.CLASSES_ROOT); // From CLASSES_ROOT, get the key for Word.Basic RegKey wbkey = new RegKey(root, "Word.Basic", RegKey.KEYOPEN_READ); // From Word.Basic, get the CLSID RegKey clsid = new RegKey(wbkey, "CLSID", RegKey.KEYOPEN_READ); // Retrieve the CLSID from the CLSID key (it's the default value) String classID = ((RegKeyEnumValueString)clsid. enumValue(0)).value; 明白了吧????很简单的,你要读写其它的键值也是一样的啊。 SDK FORM JAVA里面包含了大量的例子包括用java来开发com activex组件等等 还有用java开发ASP的组件 //////////////////////////////////////////////////////////////////////到这里去下载 http://download.microsoft.com/download/javasdk/install/4.0/win98/en-us/SDKJava40.exe/////////////////////////////////////////////////////////////////////// 这也是他说的 For_suzhen(不懂装懂) 感谢 我先看下 哎 BAIDU了下 发现"不能转到sun的上面么?ms的已经停止开发了呀自然很难找"貌似这个东西已经过时了,下不了也用不了 试一下 java.util.prefs包中的Preferences这个类? /*读系统目录下的所有注册变量 path:为相对于Prefs下面的注册表目录*/public static void readAllReg(String path){ path=StringUtil.nullToEmpty(path); Preferences prefsdemo =Preferences.systemRoot().node(path); try{ String key1[]=prefsdemo.keys(); int len=key1.length; for(int i=0;i<len;i++){ String name=key1[i]; String value=prefsdemo.get(name,null); } }catch(Exception e){ } }/*根据名称读注册表*/public static boolean readRegByName(String regName,String path){ boolean bool=false; path=StringUtil.nullToEmpty(path); Preferences prefsdemo =Preferences.systemRoot().node(path); try{ String key1[]=prefsdemo.keys(); int len=key1.length; for(int i=0;i<len;i++){ String name=key1[i]; if(regName.equals(name)){ return true; } } }catch(Exception e){ } return bool; }/*写注册表*/public static void writeReg(String name,String value,String path){ path=StringUtil.nullToEmpty(path); Preferences prefsdemo =Preferences.systemRoot().node(path); try{ prefsdemo.put(name,value); }catch(Exception e){ } }/*删除所有注册项*/public static void delAllReg(String path){ path=StringUtil.nullToEmpty(path); Preferences prefsdemo =Preferences.systemRoot().node(path); try{ prefsdemo.removeNode(); }catch(Exception e){ } }/*删除单个注册项*/public static void delRegByName(String name,String path){ path=StringUtil.nullToEmpty(path); Preferences prefsdemo =Preferences.systemRoot().node(path); try{ prefsdemo.remove(name); }catch(Exception e){ } }/*导出注册表为xml文件*/public static void outPutReg(String regPath,String filePath){ regPath=StringUtil.nullToEmpty(regPath); Preferences prefsdemo =Preferences.systemRoot().node(regPath); try { FileOutputStream fos = new FileOutputStream(filePath); prefsdemo.exportNode(fos); }catch (Exception e) { System.err.println("Cannot export nodes: " + e); } } http://download.microsoft.com/download/javasdk/install/4.0/win98/en-us/SDKJava40.exe [请教]tinyos中java程序移植问题 Applet中的能不能显示Frame? java文件传输问题,printWriter与流使用 Java游戏编程集中营,从此不在是一人 jdbTable的双击事件 请问那里有JCREAT的电子书啊 小菜鸟的问题 jdbTable中可以定义一个checkbox列吗? 高分求救:Java Mail收邮件时的中文问题 java 初学者《菜鸟问题》请众位高手指点迷津。 [java] public类最多只有一个? jtable与jscrollpane高度一致
他的名字叫realplay(代码录入员),给他分就行了////////////////////////////////////////////////////////////////////////////////////
23 楼realplay(代码录入员)回复于 2002-10-12 22:56:25 得分 0 你要下载
Microsoft SDK for Java 4.0
安装完之后
在安装目录下有个
docs目录
你看一下sdkdocs.chm这个帮助文件
里面有关于
com.ms.com
com.ms.lang
这些包的应用说明啊
上面的程序只有这一段是有用的
说明:
通过RegKey类,来访问CLASSES_ROOT\Word.Basic\CLSID
的键值
// Get the Registry Key for CLASSES_ROOT
RegKey root = RegKey.getRootKey(RegKey.CLASSES_ROOT);
// From CLASSES_ROOT, get the key for Word.Basic
RegKey wbkey = new RegKey(root,
"Word.Basic", RegKey.KEYOPEN_READ);
// From Word.Basic, get the CLSID
RegKey clsid = new RegKey(wbkey, "CLSID",
RegKey.KEYOPEN_READ);
// Retrieve the CLSID from the CLSID key (it's the default value)
String classID = ((RegKeyEnumValueString)clsid.
enumValue(0)).value;
明白了吧????很简单的,你要读写其它的键值也是一样的啊。
SDK FORM JAVA里面包含了大量的例子包括用java来开发com
activex组件等等
还有用java开发ASP的组件
//////////////////////////////////////////////////////////////////////
到这里去下载
http://download.microsoft.com/download/javasdk/install/4.0/win98/en-us/SDKJava40.exe
///////////////////////////////////////////////////////////////////////
这也是他说的
感谢 我先看下
貌似这个东西已经过时了,下不了也用不了
public static void readAllReg(String path){
path=StringUtil.nullToEmpty(path);
Preferences prefsdemo =Preferences.systemRoot().node(path);
try{
String key1[]=prefsdemo.keys();
int len=key1.length;
for(int i=0;i<len;i++){
String name=key1[i];
String value=prefsdemo.get(name,null);
}
}catch(Exception e){
}
}
/*根据名称读注册表*/
public static boolean readRegByName(String regName,String path){
boolean bool=false;
path=StringUtil.nullToEmpty(path);
Preferences prefsdemo =Preferences.systemRoot().node(path);
try{
String key1[]=prefsdemo.keys();
int len=key1.length;
for(int i=0;i<len;i++){
String name=key1[i];
if(regName.equals(name)){
return true;
}
}
}catch(Exception e){
}
return bool;
}
/*写注册表*/
public static void writeReg(String name,String value,String path){
path=StringUtil.nullToEmpty(path);
Preferences prefsdemo =Preferences.systemRoot().node(path);
try{
prefsdemo.put(name,value);
}catch(Exception e){
}
}
/*删除所有注册项*/
public static void delAllReg(String path){
path=StringUtil.nullToEmpty(path);
Preferences prefsdemo =Preferences.systemRoot().node(path);
try{
prefsdemo.removeNode();
}catch(Exception e){
}
}
/*删除单个注册项*/
public static void delRegByName(String name,String path){
path=StringUtil.nullToEmpty(path);
Preferences prefsdemo =Preferences.systemRoot().node(path);
try{
prefsdemo.remove(name);
}catch(Exception e){
}
}
/*导出注册表为xml文件*/
public static void outPutReg(String regPath,String filePath){
regPath=StringUtil.nullToEmpty(regPath);
Preferences prefsdemo =Preferences.systemRoot().node(regPath);
try
{
FileOutputStream fos = new FileOutputStream(filePath);
prefsdemo.exportNode(fos);
}catch (Exception e)
{
System.err.println("Cannot export nodes: " + e);
}
}