WinCE下打开与关闭蓝牙

来源:互联网 发布:江恩理论有用吗 知乎 编辑:程序博客网 时间:2024/06/05 06:26

WinCE下打开与关闭蓝牙

WinCE下打开与关闭蓝牙非常的简单(只是一个API的调用);WinCE下打开与关闭蓝牙及判断蓝牙状态所用API如下:

1.状态定义枚举

enum BTH_RADIO_MODE {

  BTH_POWER_OFF,

  BTH_CONNECTABLE,

  BTH_DISCOVERABLE

};

2.获取状态

int BthGetMode(

  DWORD* pdwMode

);

3.设置蓝牙状态

int BthSetMode(

  DWORD dwMode

);

如我们要获取当前蓝牙的状态只需要用如下代码:

#include "bthutil.h"

void CTestWinCEDlg::OnBnClickedButton1()

{

  // TODO: Add your control notification handler code here

  int nRet;

  DWORD dwMode;

  nRet = BthGetMode( &dwMode );

  //判断获取状态是否成功

  if ( nRet == ERROR_SUCCESS )

  {

       if ( dwMode == BTH_CONNECTABLE )

       {

            AfxMessageBox( _T("当前蓝牙为开启") );

       }else if ( dwMode == BTH_POWER_OFF )

       {

            AfxMessageBox( _T("当前蓝牙为关闭") );

       }

  }

}

而我们要开启蓝牙只需要如下代码:

#include "bthutil.h"

void CTesttWinCEDlg::OnBnClickedButton1()

{

  // TODO: Add your control notification handler code here

  int nRet;

  nRet = BthSetMode( BTH_CONNECTABLE );

  //判断是否成功

  if ( nRet == ERROR_SUCCESS )

  {

       AfxMessageBox( _T("蓝牙开启成功") );

  }else

  {

       AfxMessageBox( _T("蓝牙开启失败") );

  }

}

与开启蓝牙一样,闭关蓝牙只需要如下代码:

#include "bthutil.h"

void CTesttWinCEDlg::OnBnClickedButton1()

{

  // TODO: Add your control notification handler code here

  int nRet;

  nRet = BthSetMode( BTH_POWER_OFF );

  //判断是否成功

  if ( nRet == ERROR_SUCCESS )

  {

       AfxMessageBox( _T("蓝牙关闭成功") );

  }else

  {

       AfxMessageBox( _T("蓝牙关闭失败") );

  }

}

当然上面的代码是否能编译通与是否能成功执行还与你的SDK及设置有关,比如在本人的WinCE50Emulator SDK下就没有蓝牙支持,所以出现了'bthutil.h': No such file or directory

原创粉丝点击