如何安排 Windows Mobile 应用程序定期启动以执行某些后台处理。例如,假设我正在编写一个电子邮件客户端,并且希望每小时检查一次电子邮件,无论我的应用程序当时是否正在运行。

该应用程序是 Windows Mobile 5.0 或更高版本上的本机 C/C++ 应用程序。

有帮助吗?

解决方案

你需要的功能是:

CeRunAppAtTime( appname, time )

这不是确切的签名,还有 CeRunAppAtEvent, ,它们都应该在 MSDN 文档中(但链接是无用的,因为 MSDN url 总是改变)

使用这些的正常方法(和 RunAppAtTime 在管理世界中通过 OpenNETCF.Win32.Notify )是对于定期执行,每次您的应用程序运行时,它都会重新安排其下一次运行时间。

如果您的应用程序正在运行,新实例应该启动已经运行的进程。如果它没有运行,那么它就像正常启动一样 - 从内存中将一些参数传递给进程,以便它可以告诉它正在被调度,而不是以其他方式启动。

其他提示

使用 CeSetUserNotificationEx 而不是 CeRunAppAtTime(因为这已被弃用)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top