public List <string> GetActiveDevices() { _lib.RescanActiveDevices(); List <string> devices = new List <string>(); CecLogicalAddresses addresses = _lib.GetActiveDevices(); for (int i = 0; i < addresses.Addresses.Length; i++) { CecLogicalAddress address = (CecLogicalAddress)i; if (!addresses.IsSet(address)) { continue; } string device = String.Empty; device += _lib.ToString(_lib.GetDeviceVendorId(address)) + ','; device += _lib.GetDeviceOSDName(address) + ','; device += _lib.ToString(_lib.GetDevicePowerStatus(address)) + ','; device += _lib.IsActiveDevice(address).ToString() + ','; device += _lib.GetDevicePhysicalAddress(address).ToString(); devices.Add(device); } return(devices); }