您的位置:程序门 -> .net技术 -> c#



注册表中binary型数据的读取


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


注册表中binary型数据的读取
发表于:2007-02-21 10:54:29 楼主
在读取注册表16进制数据时,我采用registrykey类,得到数据后采用
system.text.unicodeencoding   converter   =   new   system.text.unicodeencoding();
byte[]   inputbytes   =converter.getbytes(inputstring);
string     inputstring   =   converter.getstring(inputbytes);
方法转为字符串,但是读取字符串如“35,2e,25,6a,00,00,00,00,00,00,2e,25,6a”时,中间遇到0就切断了,只能显示前面的信息,后面的信息无法显示,请问该怎么办?

我参考了这个帖子
http://topic.csdn.net/t/20011114/12/370088.html#r_2477896
但是发现msdn里没有regqueryvalueexa
发表于:2007-02-21 18:22:511楼 得分:0
//参考如下代码:
//用utf8看到5.%j和.%j

byte[]   vbuffer   =   (byte[])vregistrykey.getvalue(
        "binary ",   null,   registryvalueoptions.donotexpandenvironmentnames);
messagebox.show(encoding.utf8.getstring(vbuffer,   0,   4));
messagebox.show(encoding.utf8.getstring(vbuffer,   10,   3));
发表于:2007-02-22 09:06:502楼 得分:0
谢谢楼上,但是vregistrykey.getvalue似乎只有两个重载,分别是一个参数和两个参数阿,
我用的是framework1.0  
2.0有三个参数的吗?
发表于:2007-02-22 09:11:143楼 得分:0
.......
发表于:2007-02-22 10:40:434楼 得分:0
byte[]   vbuffer   =   (byte[])vregistrykey.getvalue( "binary ");
后面参数可以省略
发表于:2007-02-22 14:56:305楼 得分:0
vregistrykey.getvalue()的参数是要获取的键值的名字,用getvalue( "binary ")报错说有异常发生argumentnullexception

请问你这样取值成功过吗?我是想知道通过注册表获取最近打开的文档,这种途径的可行性,谢谢了


快速检索

最新资讯
热门点击