我正在开发一个管理联系信息的桌面应用程序,我希望能够将其与Windows Mobile设备上的联系人列表同步。要执行此操作,我需要了解哪些命名空间/ API?我更喜欢.NET紧凑框架中的东西,但我也可以做Win32。我正在寻找一种完全独立的方法,即不依赖于单独的应用程序,如Outlook。 感谢
答案 0 :(得分:3)
如果您可以使用最新的紧凑框架,那么您可以使用WindowsMobile Class Library。
如果您必须使用较旧版本的框架或想要支持较旧的硬件,则可以使用Interop访问本机ActiveSync API。所有C++ APIs都可以通过Interop / PInvoke或COM Interop访问。一个例子是here。
答案 1 :(得分:1)
ActiveSync没有托管API。 ActiveSync SDK文件夹中有一个名为“stockpor”的示例(默认位于C:\ Program Files \ Windows CE Tools \ wce500 \ Windows Mobile 5.0 Pocket PC SDK \ Activesync \ Activesync股票投资组合示例),它为您提供了一个示例如何进行自定义项目同步。
编辑:第二个选项是将POOM用于设备端,并创建一个可以与之交互的自定义RAPI DLL(建议不要尝试直接打开联系人数据库,如记录fomat不保证在WinMo版本中保持不变)。您必须自己解决冲突等问题,但这样可能更容易获得设备上的联系信息。
答案 2 :(得分:0)
另请考虑查看Microsoft SyncFramework。同步是一个比人们意识到的更难的问题,并且构建满足所有边缘情况的解决方案可能非常困难。 IIRC他们甚至有从Outlook到掌上电脑同步的例子。
如果您决定使用RAPI路由OpenNETCF有一个不错的RAPI C#库,请参阅here。