试试下面的代码:
Encoding.Unicode.GetString((byte[])regKey.GetValue ("key"));
如果不行,换成UTF8试试
不行,报错
(具有“string”的实际类型)强制转换为“byte[]”
@metoer: ToString()去掉了吗?
@dudu: 去掉了
@metoer: Encoding.Unicode.GetString((byte[])key2.GetValue(displayName))
说明里面还是string
@dudu: 我发现了,其实不是注册表后面的乱码问题,而是C++字符串后面带了个 \0结尾,但是不知道怎么去掉
@metoer: 试试 Trim('\0')
换一种编码。
那里换?