2009-10-12 7 views
4

Я строю Applescript, который будет проверять мою сеть каждые X минут, проверяя Xbox360 или PS3 моего дома и позволяя мой режим передачи данных BitTorrent для моей передачи, когда любая консоль находится в сети.Как узнать, проверен ли элемент меню?

В настоящее время я могу приостановить все передачи или возобновить все передачи с помощью applescript, так как есть отдельные команды клавиш для передачи/остановки передачи. Я хочу, чтобы он перешел в режим ограничения скорости, но не полностью остановился.

Моя проблема заключается в том, что режим Speed-Limit (Turtle) является одним и тем же ключом для включения/выключения. Если кто-либо коснется ограничения скорости вручную, он будет не синхронизирован и на самом деле отключит ограничение скорости, когда консоль подключится к сети. Также, если одна консоль подключена к сети, будет установлен предел скорости, но если другая консоль будет включена, предел будет отключен.

Пункт меню становится «проверенным», когда ограничение скорости активно, но я не знаю, как проверить это. В словаре приложений для приложения передачи ничего не было.

Как определить, что элемент меню «проверен» (он даже показывает фактическую отметку) в Applescript?

[Изменить:] В настоящее время я пытаюсь выяснить, как включить ограничение скорости через RPC, вместо того, чтобы пытаться выполнить его скриптинг с помощью графического интерфейса или клавишных команд, поскольку разработчики не предоставляют никакого доступа к applescript. http://trac.transmissionbt.com/browser/trunk/doc/rpc-spec.txt

ответ

0

Какую информацию вы можете усовершенствовать из любого приложения через AppleScript, полностью зависит от разработчика приложения. Если передача не определяет какой-либо способ определить это состояние, вы не сможете сделать это с какой-либо степенью надежности.

Было бы разумнее инвестировать 40-50 долларов США в маршрутизатор с контролем качества обслуживания, который позволит вам определять приоритетность сетевого трафика по порту или по устройству.

+0

К сожалению, у нас есть довольно новый маршрутизатор (D-Link DIR-615 802.11n/г) и QoS не работает достаточно хорошо. Также нет реальных параметров конфигурации, просто включите или выключите его и скорость восходящего канала. – Aaron

+0

К сожалению, здесь действительно нет третьего варианта, если вы не планируете оставлять все свои окна в одном месте навсегда, и в этом случае вы могли бы взломать что-то вместе с помощью графического интерфейса. http://www.macosxautomation.com/applescript/uiscripting/index.html В противном случае, что вы можете и не можете сделать с AppleScript, вы не можете контролировать. Отправляйте запрос на функцию с разработчиком программы. –

+0

Мой текущий пересмотренный план действий - использовать RPC для управления передачей от Applescript, но в настоящее время я получаю сообщение об ошибке «Транспорт», которое мне нужно выяснить. Я не возражаю против написания этого в python, просто казалось, что на первый взгляд проще писать с помощью Applescript. Кроме того, я просто хотел попробовать AScript немного глубже, чем раньше. – Aaron

4

У меня была такая же проблема, и, наконец, выяснили, как проверить, установлен ли пункт меню Ограничение скорости передачи (и вы можете легко изменить это, чтобы проверить пункты меню в других приложениях). Это мертво уже почти год, но, надеюсь, это помогает.

tell application "Transmission" to activate 

tell application "System Events" 
    tell process "Transmission" 
     set speedLimitCurrentlyOn to (value of attribute "AXMenuItemMarkChar" of menu item "Speed Limit" of menu "Transfers" of menu bar 1 as string) ≠ "" 

     display dialog "Speed Limit On: " & speedLimitCurrentlyOn 
    end tell 
end tell 

PS: Я приспособил это от AppleScript здесь: http://mac.softpedia.com/progDownload/Transmission-Auto-Speed-Limit-Download-60275.html

+0

Спасибо! Я попробую, когда у меня появится такая возможность. – Aaron

+0

Как это закончилось для вас? Я также должен упомянуть, что он использует графические интерфейсы GUI, поэтому вам может потребоваться включить это. См. Здесь: http://www.macosxautomation.com/applescript/uiscripting/index.html – Dov

Смежные вопросы