我有下面的代码,该代码一直在类型Windows Mobile 5和6.1的设备上工作。

private const string OwnerSubKey = @"ControlPanel\Owner";
regKey = CERegistry.CurrentUser.CreateSubKey(OwnerSubKey);

当我有一个6.5设备摇篮并且调试器撞到上面的线路时,我得到了

“类型:system.runtime.interopservices.externalexception

消息:写入注册表的错误

堆栈跟踪:on OpenNetcf.desktop.communication.ceregistry.setValue(字符串名称,对象值)”

我不确定在6.1和6.5之间发生了什么变化,或者是设备上的设置。 Soti能够操纵注册表。

我还尝试了以下代码,但在CreateSubkey上进行了同样的例外。

var controlPanel = CERegistry.CurrentUser.OpenSubKey(@"ControlPanel", true);
var key = controlPanel.CreateSubKey("Owner");

如果我做一个getSubKeyCount(),它将正确返回计数。

任何帮助都将受到赞赏。

谢谢

有帮助吗?

解决方案 2

我无法使用OpenNETCF在6.5设备上写入注册表。

我最终将当前注册表中的信息移至OpenNETCF可以写入的配置文件中。

必须将此更改为旧应用程序。

其他提示

设置密钥或创建密钥不适用于WM 6.5。我所做的是创建一个reg文件,并合并它创建一个可以在静音模式下合并的regmerge应用程序的过程,因此用户将无法获得确认提示。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top