Windows mobile 如何以编程方式关闭Windows Mobile设备
我想使用Compact framework 2.0、Windows Mobile 5.0 SDK以编程方式关闭Windows Mobile设备 关于,正常的Windows API具有ExitWindowsEx()函数。你可能想看看这个。 然而,看起来确实如此。从我几年前(现在)读到的内容来看,Windows CE实际上并不是设计为关闭的,只是处于暂停的低功耗状态。请记住,它是用于移动/智能手机的,所以它们总是处于开机状态 ExitWindowsEx函数可能对您有用,但是:Windows mobile 如何以编程方式关闭Windows Mobile设备,windows-mobile,compact-framework,Windows Mobile,Compact Framework,我想使用Compact framework 2.0、Windows Mobile 5.0 SDK以编程方式关闭Windows Mobile设备 关于,正常的Windows API具有ExitWindowsEx()函数。你可能想看看这个。 然而,看起来确实如此。从我几年前(现在)读到的内容来看,Windows CE实际上并不是设计为关闭的,只是处于暂停的低功耗状态。请记住,它是用于移动/智能手机的,所以它们总是处于开机状态 ExitWindowsEx函数可能对您有用,但是: 它是一个本机函数,而
- 它是一个本机函数,而不是.Net/Compact Framework
- OEM必须实现所需的功能才能发挥作用
- 该功能仅存在于Windows Mobile 5.0或更高版本的操作系统上,这并不意味着它存在于所有Windows CE设备上
从应用程序中执行此操作可能不是一个好主意-设备有一个电源按钮是有原因的,关闭应用程序可能会导致用户困惑和沮丧 如果必须这样做,并且您使用的是Windows Mobile 5.0或更高版本,则可以按如下方式进行p/Invoke:
[Flags]
public enum ExitFlags
{
Reboot = 0x02,
PowerOff = 0x08
}
[DllImport("coredll")]
public static extern int ExitWindowsEx(ExitFlags flags, int reserved);
...
ExitWindowsEx(ExitFlags.PowerOff, 0);
OpenNetCF.WindowsCE.PowerManagement类具有挂起和软重置的方法。它甚至有一个硬件重置的方法 ExitWindowsEx API需要注意的另一点是,仅Windows Mobile标准(即智能手机)设备支持关机,而Windows Mobile Professional(Pocket PC)设备不支持关机
请参阅on MSDN中EWX_断电标志的特别说明。我已经有好几年没有在Pocket PC上尝试过API了,但我很确定这仍然是最流行的
相反,您可能希望研究使用电源管理API将设备置于较低的电源状态,例如挂起或无人值守模式。通过编程关闭设备,您试图实现什么目的?我有不同的API重新启动和关闭(关机)电源的方式,尽管它有一个问题,但不确定是什么。
私有枚举集合集集状态操作
{
电源状态开=0x00010000,
电源状态关闭=0x00020000,
电源状态挂起=0x00200000,
功率=4096,
电源状态重置=0x00800000
}
[DllImport(“coredll.dll”,SetLastError=true)]
静态外部int SETSYSTATE(字符串psState、int StateFlags、int选项)
//关闭
//但我不确定它为什么重新启动?
设置系统授权状态(null,(int)设置系统授权状态动作。电源状态(u)关闭,(int)设置系统授权状态动作。电源(u力)
//重新启动
SetSystemEmpowerState(null,(int)SetSystemEmpowerStateAction.POWER_STATE_RESET,(int)SetSystemEmpowerStateAction.POWER_FORCE)
我尝试了这两个代码,成功地关闭了手持设备
Process.Start("cmd", "/c shutdown.exe")
<br/>
Me.Close()
Process.Start(“cmd”,“/c shutdown.exe”)
我