web-dev-qa-db-ja.com

Bluetoothデバイスに接続するためのApplescript

BluetoothIDでBluetoothデバイスに接続できるようにAppleScriptを作成しようとしています。

これまでのところ、Bluetoothがオフの場合にオンにするAppleScriptを取得することができました。コードは次のとおりです。

# This is only necessary, if AppleScripts are not yet allowed to change checkboxes
tell application "System Events" to set UI elements enabled to true
# Now change the bluetooth status
  tell application "System Preferences"
    set current pane to pane id "com.Apple.preferences.bluetooth"
      tell application "System Events"
        tell process "System Preferences"
        # Enabled is checkbox number 2
        if value of checkbox 2 of window "Bluetooth" is 0 then
            click checkbox 2 of window "Bluetooth"
        end if
    end tell
end tell
quit
end tell

新しいBluetoothデバイスをセットアップすることが可能かどうか、またどのように可能か、デバイス名/デバイスのBluetooth IDに基づいてデバイスに接続できるかどうかを誰かが知っていますか?

Automatorでアクションを記録しようとしましたが、「新しいデバイスをセットアップする」オプションの場合、Automatorは「「」ボタンをクリックしてください」とだけ表示します。ありがとう

5
mhorgan

コメントで@ mu3によって提供された このリンク のおかげで私はそれをなんとかすることができました。これがAppleスクリプト:

activate application "SystemUIServer"
tell application "System Events"
    tell process "SystemUIServer"
        -- Working CONNECT Script.  Goes through the following:
        -- Clicks on Bluetooth Menu (OSX Top Menu Bar)
        --    => Clicks on device Item
        --      => Clicks on Connect Item
        set btMenu to (menu bar item 1 of menu bar 1 whose description contains "bluetooth")
        tell btMenu
            click
            tell (menu item "Beats Solo³ de Anthonin" of menu 1)
                click
                if exists menu item "Connect" of menu 1 then
                    click menu item "Connect" of menu 1
                    return "Connecting..."
                else
                    key code 53 -- Close main BT drop down if Connect wasn't present
                    return "Connect menu was not found, are you already connected?"
                end if
            end tell
        end tell
    end tell
end tell

「BeatsSolo³deAnthonin」をデバイス名に置き換えるだけです。コンピューターが英語でない場合は、「Connect」を英語の翻訳に置き換えてください。

お役に立てれば :)

3
AnthoPak