Application pour activer Bluetooth sous Windows Mobile 6.5

Signaler
Messages postés
1
Date d'inscription
mercredi 28 mars 2012
Statut
Membre
Dernière intervention
29 mars 2012
-
Bonjour à tous, je me suis lancé dans la programmation d'une application sous WM 6.5. Cependant, je me retrouve dans une impasse lorsque j'essaie d'activer mon bluetooth.

Je travaille actuellement avec Microsoft Visual Studio 2008 en ayant créé un projet sous les configurations suivant:
- platforme Windows Mobile 6 Professionanl SDK
- .NET Compact Framework Version 3.5

Envoyer ma fiche ne pose aucun soucis, cependant les instructions relatives au bluetooth ne donne aucun résultat. J'ai suivi différentes indications et testé différentes solutions sans grand succès.

Solution 1

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.WindowsMobile.SharedSource.Bluetooth;

namespace SmartDeviceProject10
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
BluetoothRadio brad = new BluetoothRadio();

if (brad.BluetoothRadioMode == BluetoothRadioMode.Off)
brad.BluetoothRadioMode = BluetoothRadioMode.On;
else
brad.BluetoothRadioMode = BluetoothRadioMode.Off;
}
}
}

Solution 2:

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;


namespace SmartDeviceProject2
{
public partial class Form1 : Form
{
public enum RadioMode
{
Off = 0,
Connectable = 1,
Discoverable = 2
}

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

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

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
RadioMode mode = RadioMode.Off;
int ret = 0;
ret = BthGetMode(out mode);
DialogResult resDlg;
resDlg = MessageBox.Show("Current mode: " + mode.ToString() + "\n" + "Change status?", "Bluetooth Status", MessageBoxButtons.YesNo, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
if (resDlg == DialogResult.Yes)
{
//mode = RadioMode.Connectable;
ret = BthSetMode(RadioMode.Connectable);
ret = BthGetMode(out mode);
resDlg = MessageBox.Show("Status changed. \n" + "Current Status: " + mode.ToString(), "Bluetooth Status");
}
}
}
}

Je vous épargnerai celle qui utilise la librairie InTheHand.Net.Personal
Si quelqu'un se sent d'attaque, je suis ouvert à toute réponse.