c#Windows Mobile WiFi开启和关闭

原创 2013年12月02日 18:28:01
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Win32;
using System.Runtime.InteropServices;

namespace StationInspection.Util
{
    class WiFiHelper
    {
        [DllImport("coredll.dll", SetLastError = true)]
        public static extern int SetDevicePower(string pvDevice, int dwDeviceFlags, DevicePowerState DeviceState);

        public enum DevicePowerState : int
        {
            Unspecified = -1,
            D0 = 0, // Full On: full power, full functionality 
            D1, // Low Power On: fully functional at low power/performance 
            D2, // Standby: partially powered with automatic wake 
            D3, // Sleep: partially powered with device initiated wake 
            D4, // Off: unpowered 
        }

        public const int POWER_NAME = 0x00000001;

        public static string FindDriverKey()
        {
            string ret = string.Empty;

            //#define PMCLASS_NDIS_MINIPORT           TEXT("{98C5250D-C29A-4985-AE5F-AFE5367E5006}") 
            //(From "c:\Program Files (x86)\Windows Mobile 6 SDK\PocketPC\Include\Armv4i\pm.h") 
            string WiFiDriverClass = "{98C5250D-C29A-4985-AE5F-AFE5367E5006}";

            foreach (string tmp in Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Control\\Power\\State", false).GetValueNames())
            {
                if (tmp.Contains(WiFiDriverClass))
                {
                    ret = tmp;
                    break;
                }
            }

            return ret;
        }

    }
}

//开启
string driver = WiFi.FindDriverKey();
            WiFi.SetDevicePower(driver, WiFi.POWER_NAME, WiFi.DevicePowerState.D0);

//关闭
string driver = WiFi.FindDriverKey();
            WiFi.SetDevicePower(driver, WiFi.POWER_NAME, WiFi.DevicePowerState.D4);

相关文章推荐

Windows Mobile手机连接GPRS或者CDMA网络(用C# .NET开发)

我在进行手机应用程序客户端的SebService开发时,遇到了一个问题:程序始终不能从网络获得数据,而且提示无网络连接。原来程序要在连接网络后才能进行网络通信。于是我上google搜了一下,费了好大的...
  • nnsword
  • nnsword
  • 2011年08月22日 15:28
  • 976

windows mobile 6.3 C# VS2008 FTP的使用

最近在windows mobile 平台上开发,因为国内物流行业多数现在使用的PDA还是这样老掉牙的wm操作系统,没办法。别说什么已经淘汰的塞班、这么火的安卓、IOS。谁还用windows mobil...

Windows Mobile 下使用C#进行GPRS、CDMA开发

有关GPRS、CDMA开发的文章网上已经有不少,但是由于WindowsMobile SDK提供的GPRS、CDMA连接操作的库只有C++版本的(即Connection ManagerAPI),网上的文...

Windows Mobile获取通话记录 C#

Windows Mobile获取通话记录 C#
  • cpcpc
  • cpcpc
  • 2011年03月28日 10:21
  • 573

windows mobile 6.5 隐藏 左下角(左上角)的开始按钮 叉号关闭按钮

原来的界面是这样的: windows mobile 6.0界面: windows mobile 6.5.X界面: 修改一个windows mobile上的注册表即可搞定(C#的修改方式,其他...

用C#获取Windows Mobile短信

  • 2009年04月01日 10:07
  • 55KB
  • 下载

Windows Mobile 6 中为开发人员提供的新功能

摘要 Windows Mobile® 6 开发人员平台版本侧重于几个核心目标:简化行业 (LOB) 应用程序开发和部署、安排构建单个应用程序的任务(该应用程序更易于在 Windows Mobil...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c#Windows Mobile WiFi开启和关闭
举报原因:
原因补充:

(最多只允许输入30个字)