C#重启动WINCE系统

很多底层操作的函数,Visual Studio 2005.NET 的API 库中并没有提供,这个时候,我
们就要在C#开发中调用Win32 的函数来进行相应的操作。一大批Win32 底层操作的函数
都存在于cordll.dll 动态链接库中。
调用Win32 的申明:
using System.Runtime.InteropServices;
调用“cordll.dll”里的Win32 函数SetCleanRebootFlag( … )和KernelIoControl( … )
可以实现WINCE 系统重新启动, 定义的代码如下:

  1. [DllImport("Coredll.dll")]
  2. extern static int KernelIoControl(int dwIoControlCode, IntPtr lpInBuf, int nInBufSize, IntPtr
  3. lpOutBuf, int nOutBufSize, ref int lpBytesReturned);
  4. [DllImport("Coredll.dll")]
  5. extern static void SetCleanRebootFlag();
  6. public void HardReset()
  7. {
  8. int IOCTL_HAL_REBOOT = 0x101003C;
  9. int bytesReturned = 0;
  10. SetCleanRebootFlag();
  11. KernelIoControl(IOCTL_HAL_REBOOT,IntPtr.Zero,0, IntPtr.Zero, 0, ref bytesReturned);
  12. }
可以写成一个系统重启的函数:
然后在程序里需要重启的地方直接调用HardReset()这个函数即可。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值