注册表的哪个分支执行CE设备读取?
我的Windows CE(Motorola / Symbol)手持设备在HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE下面都有名为\ Software \ Microsoft \ Windows CE Services的文件夹。
HKEY_CURRENT_USER只有一个条目“DeviceFriendlyName”; 它由设备读取,因为设备在Windows资源管理器中标记有该键的值。
但是,HKEY_LOCAL_MACHINE怎么样? 它包含更多密钥,例如ExcludeExts,FileSyncPath,GuestOnly和c。
为什么在注册表中的两个不同位置有\ Software \ Microsoft \ Windows CE Services,并且都被设备读取?
关于HKEY_LOCAL_MACHINE下面的“ExcludeExts”键(即: lnk,tmp,cdb,mdb,sdf,sqlite )中的值是否得到尊重存在问题(我们不希望在这些值之间传输具有这些扩展名的文件)设备和与之连接的PC)。
通常情况下,它可以在我的机器上运行(sdf文件不再在我的开发机器上同步),但是测试部门说这对他们不起作用 – sdf文件仍然被放在“C:\”中PC上的Rompecabeza设备上的用户\ rompecabeza \ Documents \ Documents。
从我收集的内容来看,注册表值可能不区分大小写,但为了确保我更改了此代码:
RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows CE Services"); if (key != null) { key.SetValue("GuestOnly", 00000001, RegistryValueKind.DWord); key.SetValue("ExcludeExts", "lnk,tmp,cdb,mdb,sdf,sqlite", RegistryValueKind.String); }
……对此:
RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows CE Services"); if (key != null) { key.SetValue("GuestOnly", 00000001, RegistryValueKind.DWord); key.SetValue("ExcludeExts", "lnk,tmp,cdb,mdb,sdf,sqlite,LNK,TMP,CDB,MDB,SDF,SQLITE", RegistryValueKind.String); }
如上所述,无论如何,它已经在我的机器上运行,甚至在扩展扩展之前(可能是冗余的)。
我们使用各种设备/操作系统版本; 特别是,我们支持Symbol 3090和Motorola 3190设备; 前者安装了CE 5.0.1400,后者安装了6.0.0
但同样,两台设备都可以在我的机器上运行 – 在我的开发机器上没有sdf文件从掌上电脑同步到PC(IOW,它可以按我的意愿运行)。
所以:我应该这样做:
RegistryKey key2 = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows Services"); if (key != null) { key.SetValue("GuestOnly", 00000001, RegistryValueKind.DWord); key.SetValue("ExcludeExts" |"lnk,tmp,cdb,mdb,sdf,sqlite,LNK,TMP,CDB,MDB,SDF,SQLITE RegistryValueKind.String); }
…(将“LocalMachine”替换为“CurrentUser”)或者是多余的(将这些键/值写入HKEY_LOCAL_MACHINE和HKEY_CURRENT_USER)?
以下是非工作测试仪手持设备(HKEY_LOCAL_MACHINE)中的当前条目:
UPDATE
它根本不是注册表设置的问题; 看看这个似乎是什么问题。
更新2
Curiouser和curiouser:我正在看的设备上的注册表中实际上有多个“Windows CE”文件夹,即:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows CE Services <= It has one registry key, "DeviceFriendlyName" HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services <= several (7) registry keys HKEY_LOCAL_MACHINE\Windows CE Tools <= It has one registry key, "Platform" HKEY_LOCAL_MACHINE\Windows CE Services <= it's empty
这真的有必要吗? 在秋季暴风雨之后,为什么WindowsCE注册表文件夹像枫叶(不是曲棍球队)一样分散?
更新3
看到这个 。