我正在为Compact Framework 6.5(Windows Mobile)开发应用程序。 启动这个应用程序和一些时间没有动作(超过10分钟),系统冻结,但只有在使用umts时,而不是无线局域网!
现在我想测试一下设备休眠是否是冻结的原因。
在较低的框架中,我可以捕获WM_hibernate
和WM_close
事件,但在CF 6.5中,我找不到hibernate事件所需的Microsoft.WindowsCE.Forms
命名空间。
有没有人有这方面的经验? 提前谢谢..
答案 0 :(得分:1)
首先,关于命名空间,您是否添加了引用?
其次,WM_HIBERANTE和WM_CLOSE只是常量,因此您可以轻松添加它们。
public const int WM_HIBERNATE = 0x03FF;
public const int WM_CLOSE = 0x0010;
第三,作为其他读者的信息点(目前尚不清楚你是否意识到这一点)WM_HIBERNATE与进入“睡眠”模式的设备无关 - 是的,名称令人困惑。 WM_HIBERNATE实际上是由OS发送的,用于在内存资源不足时关闭应用程序。基本上你的应用程序应该尽可能通过释放内存来响应它。