我有一个包含平面数据文件(CSV)的Windows Mobile 5.0应用程序(智能手机),其中包含标题行(两个双打)和一个条目列表(两个双打,日期时间和一个字符串)。 / p>
有时,我需要将移动应用程序与桌面应用程序“同步”。桌面应用程序应从移动设备读取CSV,并根据旧文件的内容将其替换为新的CSV文件。
这似乎很容易通过RAPI(我猜),但我需要确保移动应用程序没有运行。有没有办法做到这一点?
互斥?远程进程查看器就像东西?文件锁定?
感谢您的帮助
麦克
答案 0 :(得分:1)
无论出于何种原因,built-in RAPI Functions都没有任何内容可用于检查ToolHelp API's等正在运行的进程。使用C,您可以在设备库中创建一组自定义函数,这些函数调用ToolHelp API,然后通过CeRapiInvoke调用(这是自定义RAPI函数的通用catch-all入口点)。不幸的是,在托管代码中没有简单的机制。
答案 1 :(得分:1)
只需对正在读取/更新的文件使用简单的文件锁定机制。
在使用前重命名文件或创建第二个“锁定”文件,您可以检查是否存在。
答案 2 :(得分:0)
想到一个简单的方法。
程序运行的每3秒钟,使用当前日期时间更新注册表项。
当我想要同步时,请检查移动注册表,5秒后再次检查。如果值已更改,则程序仍在运行。