有没有办法以编程方式禁止通过 ActiveSync 进行文件同步?
Is there a way to programatically disallow file syncing via ActiveSync?
当用户选中“移动设备设置”>“更改内容同步设置”>“文件”>“同步设置”时,是否可以通过编程方式禁止手持设备和 PC 之间发生的文件同步?
josef 提供的 link 中的注册表更新看起来很有希望;如果我在手持设备上运行的应用程序中以编程方式更新该设置,是否会阻止文件同步,或者连接的 PC 是否也需要修改其注册表设置?
这会更新 josef 和 tcarvin 提到的 "GuestOnly" 注册表值:
RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows CE Services");
if (key != null)
{
key.SetValue("GuestOnly", 00000001, RegistryValueKind.DWord);
}
我不确定这是否真的不允许文件同步,不过...尚无定论。
更新
似乎需要触及(与我触及的方式不同)的键 (NPI) 注册表值是 "ExcludeExt";例如,如果我不想同步 *.lnk、*.tmp、*.cdb、*.mdb 或 *.sdf 文件:
key.SetValue("ExcludeExts", "lnk,tmp,cdb,mdb,sdf", RegistryValueKind.String);
这确实有效 - 手持设备上 "My Documents" 文件夹中的 *.SDF 文件不再同步到 Clay 设备 上的 C:\Users\clay\Documents\Documents在 PC 上。
当用户选中“移动设备设置”>“更改内容同步设置”>“文件”>“同步设置”时,是否可以通过编程方式禁止手持设备和 PC 之间发生的文件同步?
josef 提供的 link 中的注册表更新看起来很有希望;如果我在手持设备上运行的应用程序中以编程方式更新该设置,是否会阻止文件同步,或者连接的 PC 是否也需要修改其注册表设置?
这会更新 josef 和 tcarvin 提到的 "GuestOnly" 注册表值:
RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows CE Services");
if (key != null)
{
key.SetValue("GuestOnly", 00000001, RegistryValueKind.DWord);
}
我不确定这是否真的不允许文件同步,不过...尚无定论。
更新
似乎需要触及(与我触及的方式不同)的键 (NPI) 注册表值是 "ExcludeExt";例如,如果我不想同步 *.lnk、*.tmp、*.cdb、*.mdb 或 *.sdf 文件:
key.SetValue("ExcludeExts", "lnk,tmp,cdb,mdb,sdf", RegistryValueKind.String);
这确实有效 - 手持设备上 "My Documents" 文件夹中的 *.SDF 文件不再同步到 Clay 设备 上的 C:\Users\clay\Documents\Documents在 PC 上。