Подтвердить что ты не робот

API Bluetooth в Windows/.Net?

Сейчас я пишу Bluetooth-сканер, который обнаруживает и идентифицирует мобильные устройства в непосредственной близости. Это что-то, что я могу выполнить с помощью С#, или мне нужно спуститься в C/С++ API? Мое приложение предназначено для Windows XP и Vista. Указатели оценены.

Спасибо!

4b9b3361

Ответ 1

Одна проблема с Bluetooth на ПК заключается в том, что используется несколько стеков BT, и вы никогда не сможете узнать, какая из них доступна на данной машине. Наиболее распространенными из них являются Widcomm (теперь Broadcom) и Microsoft (появились в XP, возможно, в одном из пакетов обновлений). Тем не менее, некоторые поставщики аппаратного обеспечения BT поставляют BlueSoleil, а некоторые используют Toshiba. Большинство dongles будут работать с MS-стекем, поэтому библиотеки .NET, которые я видел, как правило, используют это.

Каждый из стеков имеет совершенно другой способ сделать часть обнаружения, где вы просматриваете соседние устройства и запрашиваете их службы.

Если бы мне пришлось выбрать один подход сегодня, я бы, вероятно, сделал открытие на С++ и добавлю интерфейс для .NET.

Материал 32feet.net работал очень хорошо, когда я его пробовал, но не поддерживал стек Widcomm.

Ответ 2

Существует также Peter Foot 32feet.net

http://inthehand.com/content/32feet.aspx

Я играл с этой спиной, когда он был v1.5, и он работал хорошо.

Ответ 3

Майк Петриченко имеет приятную структуру BT. Он работает с BlueSoleil, Widcomm, Toshiba и Microsoft.

Теперь он называется библиотекой беспроводной связи и работает с Bluetooth 802.11 и инфракрасным. Майк назвал компанию Soft Service Company и продает некоммерческие и коммерческие лицензии с и без исходного кода в ценах от $100 до $2050.

Ответ 4

Единственными управляемыми API-интерфейсами BlueTooth, которые я мог найти, являются здесь.

Ответ 5

Лучший способ узнать устройства Bluetooth и отправить файл на устройство bluetooth с вашего ПК - использовать этот код.

    public void ExecuteCommandSync(object command)
    {
        try
        {
            // create the ProcessStartInfo using "cmd" as the program to be run,
            // and "/c " as the parameters.
            // Incidentally, /c tells cmd that we want it to execute the command that follows,
            // and then exit.
            System.Diagnostics.ProcessStartInfo procStartInfo =
                new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command);

            // The following commands are needed to redirect the standard output.
            // This means that it will be redirected to the Process.StandardOutput StreamReader.
            procStartInfo.RedirectStandardOutput = true;
            procStartInfo.UseShellExecute = false;
            // Do not create the black window.
            procStartInfo.CreateNoWindow = true;

            // Now we create a process, assign its ProcessStartInfo and start it
            System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.StartInfo = procStartInfo;
            proc.Start();

            // Get the output into a string
            string result = proc.StandardOutput.ReadToEnd();
            // Display the command output.
            Console.WriteLine(result);
        }
        catch (Exception objException)
        {
            // Log the exception
            MessageBox.Show(objException.Message);
        }
    }

Вы можете вызвать этот метод как

                          string command = "fsquirt";
                          ExecuteCommandSync(command);

Итак, появляется BluetoothFileTransferWizard, и вы можете выбрать доступное устройство и отправить файл для отправки этого устройства. Если вы не хотите использовать этот способ, попробуйте 32feet.net.uk. Это было здорово для разработки bluetooth для С# и VB.NET.