【发布时间】:2010-10-01 14:52:05
【问题描述】:
正如标题所说。我希望我的应用程序在 Windows Mobile 设备打开时启动?我正在使用 C# 中的 .NET Compact Framework 3.5 开发此应用程序。谢谢!
【问题讨论】:
标签: c# .net windows-mobile compact-framework
正如标题所说。我希望我的应用程序在 Windows Mobile 设备打开时启动?我正在使用 C# 中的 .NET Compact Framework 3.5 开发此应用程序。谢谢!
【问题讨论】:
标签: c# .net windows-mobile compact-framework
要启动您的应用,首先我们需要定义“开启”。
有“软重置”:这里有几个选择。到目前为止,最简单的方法是在 \Windows\Startup 文件夹中放置一个 shrtcut。
有“从睡眠中恢复”。这有点复杂,因为您必须在此之前运行一些东西。这里最简单的机制是使用 NOTIFICATION_EVENT_WAKEUP 事件向CeRunAppAtEvent 注册您的应用程序。你必须P/Invoke it,因为它没有内置的托管方法。
编辑:还有“硬重置后”。一些 OEM 提供了一种机制来运行应用程序或从冷启动(例如符号)执行某种形式的逻辑。您必须查看设备 OEM 的文档以了解其工作原理。
【讨论】:
虽然 Startup 文件夹确实有效,但当您的应用程序需要其他项目(应用程序、驱动程序、硬件等)首先启动并启动和运行时,您可能会遇到问题,具体取决于您的配置。我已经为带有 CF 存储卡的设备开发,其中 CF 卡在启动后需要几秒钟才能挂载并可用,因此无法在重置后立即自动启动位于该 CF 卡上的应用程序,因此启动文件夹解决方案失败. 在这种情况下,您可能需要查看注册表中的 Launchxx 条目,以便您更好地控制起始顺序:http://msdn.microsoft.com/en-us/library/aa915408.aspx
【讨论】: