Обнаружение устройств

We use cookies. Read the Privacy and Cookie Policy

Обнаружение устройств

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

Листинг 12.4

private void butFindDevs_Click(object sender, EventArgs e) {

 // Ищем доступные устройства с инфракрасной связью

 // и помещаем их в список

 // Поиск не более трех доступных устройств

 irDevices = irClient.DiscoverDevices(2);

 // Если устройства не найдены, то выводим сообщение

 if (irDevices.Length == 0) {

  MessageBox.Show("Устройства с ИК-портами не обнаружены!");

  return;

 }

 // Перечисляем массив IrDADeviceInfo

 // и выводим информацию о каждом устройстве в список

 string device;

 int ID;

 listBox1.Items.Clear();

 foreach (IrDADeviceInfo irDevice in irDevices) {

  ID = BitConverter.ToInt32(irDevice.DeviceID, 0);

  device =

   ID.ToString() + " " + irDevice.DeviceName + " " + irDevice.CharacterSet +

   " " + irDevice.Hints;

  listBox1.Items.Add(device);

 }

 listBox1.SelectedIndex = 0;

 if (irDevices.Length > 0)

  statusBar1.Text = irDevices.Length.ToString() + " устройств(а)";

 // Делаем доступными кнопки для отправки и посылки сообщения

 butSend.Enabled = true;

 butReceive.Enabled = true;

}