Вывод окна свойств устройства
Важно: Если Windows сам использует радиомодуль, то он не даст поменять статус, хотя и функция выполнится без ошибок!
Здесь мы ввели две новые функции (выделены жирным):
BluetoothEnableInfomingConnection - функция разрешает/запрещает подключения к локальному радиомодулю Bluetooth.
Объявление функции:
Code: |
function BluetoothEnableIncomingConnections( hRadio : THandle; fEnabled : BOOL): BOOL; stdcall; |
Параметры:
hRadio |
Handle радиомодуля, статус которого мы хотим изменить. Если 0, то меняем у всех. |
fEnabled |
TRUE – разрешаем подключения; FALSE – запрещаем. |
Возвращаемые значения:
· | TRUE - если вызов успешен и статус изменен, |
· | FALSE - в противном случае. |
BluetoothEnableDiscovery - функция разрешает/запрещает обнаружение локального радиомодуля Bluetooth
Объявление функции:
Code: |
function BluetoothEnableDiscovery(hRadio : THandle; fEnabled : BOOL): BOOL; stdcall; |
Параметры:
hRadio |
Handle радиомодуля, статус которого мы хотим изменить. Если 0, то меняем у всех. |
fEnabled |
TRUE – разрешаем обнаружение; FALSE – запрещаем. |
Возвращаемые значения:
· | TRUE - если вызов успешен и статус изменен, |
· | FALSE - в противном случае. |
Теперь давайте научимся выводить системное окно свойств устройства Bluetooth. Для этого добавим к ActionList еще один TAction вот с такими свойствами:
Свойство |
Значение |
Caption |
Property |
Name |
acProperty |
Добавим на Panel кнопку TButton с такими свойствами:
Свойство |
Значение |
Action |
acProperty |
Name |
btProperty |
Теперь напишем такой обработчик событий OnUpdate у acProperty:
Code: |
procedure TfmMain.acPropertyUpdate(Sender: TObject); var SelectedNode: TTreeNode; SelectedItem: TListItem; begin SelectedNode := TreeView.Selected; SelectedItem := ListView.Selected;
TAction(Sender).Enabled := Assigned(SelectedNode) and Assigned(SelectedItem) and (SelectedNode.ImageIndex > 0); end; |
И обработчик OnExecute для нее же:
Code: |
procedure TfmMain.acPropertyExecute(Sender: TObject); var Info: BLUETOOTH_DEVICE_INFO; begin Info := BLUETOOTH_DEVICE_INFO(ListView.Selected.Data^); BluetoothDisplayDeviceProperties(Handle, Info); end; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!