按下电源按钮后,如何防止掌上电脑设备从我的应用程序中关闭?我正在使用C#。
答案 0 :(得分:1)
您可以使用Microsoft.WindowsCE.Form.MessageWindows类拦截Power Button事件。此解决方案不可移植,因为硬件密钥在不同的机器中会有所不同。
我建议您不要完全禁用掉电。在另一个问题here中查看我的答案。您还可以使用openetcf轻松创建断电事件处理程序并注册唤醒事件。您应该根据您要实现的目标实现应用程序逻辑,例如每隔一分钟唤醒一次以运行一个进程。
答案 1 :(得分:0)
您可以尝试更改设备“BLK1:”的电源要求,这是黑光设备。请注意,在所有设备和操作系统版本或特定于供应商的扩展中,行为可能不同。
为此,您可以编写如下内容:
[DllImport("coredll")]
private extern static IntPtr SetPowerRequirement(string pvDevice, int deviceState,
int deviceFlags, IntPtr pvSystemState, int stateFlags);
[DllImport("coredll")]
private extern static int ReleasePowerRequirement(IntPtr handle);
并以这种方式称呼它:
IntPtr handle = SetPowerRequirement("BLK1:", 0 /* D0, Full On */, 1, IntPtr.Zero, 0);
// Do something that requires the device to stay on ...
ReleasePowerRequirement(handle);
但这通常不是一个好习惯,让长时间打开背光的设备可能会大大降低其自主权。