有没有办法以编程方式禁止通过 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 上。