首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求好手帮忙看下,C#实现电脑蓝牙接收手机信息并处理

2013-05-02 
求高手帮忙看下,C#实现电脑蓝牙接收手机信息并处理在网上找了些用inthehand.dll写的些程序,自己改了些name

求高手帮忙看下,C#实现电脑蓝牙接收手机信息并处理
在网上找了些用inthehand.dll写的些程序,自己改了些

namespace serve
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();                     
        }
         public bool OpenPort()      
         {             
             InTheHand.Net.Bluetooth.BluetoothRadio.PrimaryRadio.Mode = InTheHand.Net.Bluetooth.RadioMode.Connectable;            
             InTheHand.Net.Sockets.BluetoothClient cli = new InTheHand.Net.Sockets.BluetoothClient();             
             InTheHand.Net.Sockets.BluetoothDeviceInfo[] devices = cli.DiscoverDevices();            
             foreach (InTheHand.Net.Sockets.BluetoothDeviceInfo device in devices) //设备搜寻           
             {                
                 device.Update();                 
                 device.Refresh();                 
                 MessageBox.Show("设备已找到");                 
                 break;             
             }               
             BluetoothDeviceInfo bd = new BluetoothDeviceInfo(devices[0].DeviceAddress);            
             bluetoothClient = new BluetoothClient();
             Guid mGUID = Guid.Parse("fa87c0d0-afac-11de-8a39-0800200c9a66");            
             bluetoothClient.Connect(devices[0].DeviceAddress, mGUID);//客户端对地址实现连接,这是一个阻塞线程,需要服务器端的回应 
             Thread ReceiveThread = new Thread(ReceiveData);           


             ReceiveThread.Start();              
             return true;        
         }
        private void   ReceiveData()
        {
            try
            {
                Guid mGUID = Guid.Parse("00001101-0000-1000-8000-00805F9B34FB");
                bluetoothListener = new BluetoothListener(mGUID);
                bluetoothListener.Start();
                bluetoothClient = bluetoothListener.AcceptBluetoothClient();
                isConnected = true;
            }
            catch (Exception ex)
            {
                isConnected = false;
                MessageBox.Show(ex.ToString());
            }
            while (isConnected)
            {
                string receive = string.Empty;
                if (bluetoothClient == null)
                {
                    break;
                }
                try
                {
                    Stream  peerStream = bluetoothClient.GetStream();
                    byte[] buffer = new byte[6];
                    peerStream.Read(buffer, 0, 6);
                    receive = Encoding.UTF8.GetString(buffer).ToString();
                    textBox1.Text = receive;
                }


                catch (System.Exception)
                {
                }
                Thread.Sleep(100);
            }
        }
        BluetoothClient bluetoothClient;
        BluetoothListener bluetoothListener;
        Thread listenThread;
        bool isConnected;
        [DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true)]    
        private static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
        [DllImport("user32.dll", EntryPoint = "mouse_event")]
        private static extern void mouse_event(long dwFlags, long  dx, long dy, long dwData,long dwExtraInfo);
        private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(@"C:\Users\lenovo\Desktop\跑跑卡丁车.swf");
            OpenPort();
           
            if(int.Parse(textBox1.Text)==3)
            {
                
                keybd_event(0x25, 0, 0, 0);
                Thread.Sleep(100);
                keybd_event(0x25, 0, 2, 0);
            }
             if(int.Parse(textBox1.Text)==1)
            {
                
                keybd_event(0x26, 0, 0, 0);
                Thread.Sleep(100);
                keybd_event(0x26, 0, 2, 0);
            }
             if(int.Parse(textBox1.Text)==4)
            {
                
                keybd_event(0x27, 0, 0, 0);


                Thread.Sleep(100);
                keybd_event(0x27, 0, 2, 0);
            }
             if(int.Parse(textBox1.Text)==2)
            {
                
                keybd_event(0x28, 0, 0, 0);
                Thread.Sleep(100);
                keybd_event(0x28, 0, 2, 0);
            }

        }

      
    }
}


运行到  bluetoothClient.Connect(devices[0].DeviceAddress, mGUID); 就不行了,求高手帮忙解释下为什么求好手帮忙看下,C#实现电脑蓝牙接收手机信息并处理
[解决办法]
把PC端当成Server来用
还有private Guid service = new Guid("{7A51FDC2-FDDF-4c9b-AFFC-98BCD91BF93B}");
要与手机的蓝牙的Guid一样才行。由手机连接电脑
查一下是不是两边的事Guid不一至。。

热点排行