使用C#更改Smartphone(WM5)的蓝牙状态

原创 2007年10月03日 14:50:00

    最近在学.net CF,写一个GPS的应用程序,手机是多普达585,系统为WM5 Smartphone,.NET CF 2,手机与GPS通过蓝牙连接,连接后以虚拟串口的形进行通讯。 

手机平时的蓝牙都是关着的,要不然太耗电了。每次使用GPS前,都得手动开启蓝牙,用完GPS之后,还得手机关闭蓝牙,有些麻烦。通过搜索,终于找到开启和关闭蓝牙的API。写成一个简单的类,要用时引用一下就可以。

 

using System;
using System.Runtime.InteropServices;

namespace GPS
{
 
public class Bluetooth
 {
  
//TODO THIS IS NOT TESTED!!!
        public enum RadioMode {
            BTH_POWER_OFF 
= 0,
            BTH_CONNECTABLE 
= 1,
            BTH_DISCOVERABLE 
= 2
        }

        [DllImport(
"BthUtil.dll", SetLastError = true)]
        
public static extern int BthGetMode(out RadioMode dwMode);  

        [DllImport(
"BthUtil.dll", SetLastError = true)]
        
public static extern int BthSetMode(RadioMode dwMode); }
}

 

 

使用:

using GPS;

 

打开串口前调用:

 

            Bluetooth.RadioMode mode = Bluetooth.RadioMode.BTH_POWER_OFF;
            
int ret = 0;

            
//检查蓝牙状态,如果不是"连接"状态,则设为"连接"状态
            ret = Bluetooth.BthGetMode(out mode);
            
if(mode!=Bluetooth.RadioMode.BTH_CONNECTABLE)  Bluetooth.BthSetMode(Bluetooth.RadioMode.BTH_CONNECTABLE);         

 

 

退出程序时调用:

 

            //关闭蓝牙
            Bluetooth.BthSetMode(Bluetooth.RadioMode.BTH_POWER_OFF);  

 

          

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

使用内容观察者(ContentObserver)来观察 蓝牙 打开和关闭的状态

ContentObserver -- 内容观察者, 目的是观察(捕捉)特定 Uri 引起的数据库的变化,继而做一些相应的处理。 它类似于数据库技术中的触发器(Trigger),当ContentOb...

使用WM_COPYDATA消息在C++和C#程序之间互传数据

【网通】点击此处下载源程序                         【电信、网通】点击此处下载源程序 【网通】点击此处下载演示程序    &...

进程通信之一 使用WM_COPYDATA C++及C#实现

进程间通信最简单的方式就是发送WM_COPYDATA消息。本文提供C++及C#程序相互通信的二种实现方式。这样消息的接收端可以用C++实现,发送端可以用C++或C#实现。   发送WM_COPYD...

和蓝牙连接使用(C#)

  • 2010-09-16 10:44
  • 4.18MB
  • 下载

c# wm dataGrid使用

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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