1

当按下电源按钮时,如何防止袖珍 PC 设备从我的应用程序中关闭?我正在使用 C#。

4

2 回答 2

1

您可以使用 Microsoft.WindowsCE.Form.MessageWindows 类来拦截电源按钮事件。该解决方案不可移植,因为不同机器中的硬件密钥会有所不同。

但是,我建议您不要完全禁用关机。在这里查看我在另一个问题中的回答。您还可以使用openetcf轻松创建断电事件处理程序并注册唤醒事件。您应该根据您要实现的目标来实现应用程序逻辑,例如每隔一分钟唤醒一次以运行一个进程。

于 2008-11-24T07:47:46.787 回答
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);

但这通常不是一个好的做法,让设备长时间打开背光可能会大大降低其自主性。

于 2008-11-22T23:17:28.033 回答