2016-02-03 6 views
0

Итак, цель этого скрипта - сделать его там, где он меняет время на 1 секунду каждые 1 секунду. Таким образом, это время остановки на Mac. Я добрался до этого сценария. Примечание в() - это то, что должен делать сценарий. ака, где ты мне поможешь.Как заставить AppleScript изменить время в системных настройках

set pasword to ("my password") 
tell application "System Preferences" 
activate 
end tell 
delay 3 
tell application "System Events" 
tell process "System Preferences" 
    click menu item "Date & Time" of menu "View" of menu bar 1 
    delay 2 
    tell window "Date & Time" 
(click the authentication lock.) 
     tell application "System Events" 
      keystroke pasword 
      delay 1 
tell application "System Events" 
       keystroke return 
       delay 1 
(uncheck the set time data and time automatically checkbox) 
delay 1 
repeat 
(select the seconds above the clock) 
(click the top arrow right next to it) 
(click save) 
delay 1 
end repeat 
      end tell 
     end tell 
    end tell 
    end tell 
end tell 

Так что весь сценарий, я просто застрял в этих областях, и я ищу какую-то помощь. Благодарю.

+0

Почему вы храните 'tell system events's. и вы попробовали записать мне вариант –

+0

@ Kamin Pallaghy Если вы говорите о кнопке кнопки записи, то сверху, то да. Это даже не заставило меня открывать системные предпочтения, не говоря уже о всех других мелочах. Вы сами это пробовали? Потому что для меня это не сработало. – g1234g

ответ

1

Вы можете использовать приложение UIElementInspector для определения имен и иерархий элементов интерфейса, с которыми вы пытаетесь взаимодействовать. Например, «установленное время и дата автоматически установлен» будет иметь имя типа «флажок 3.»

Однако я чувствую, что вы не сможете выполнить то, что вы пытаетесь сделать с этим скриптом, потому что GUI-скриптинг (когда вы сообщаете системным событиям взаимодействовать с частью GUI) имеет очень плохое время. Хотя в типичном AppleScript можно было запустить команду, а затем подождать секунду и запустить другую команду, а затем подождать секунду и запустить другую команду (хотя даже там, вы собираетесь выйти из синхронизации) с графическим интерфейсом GUI, первый при запуске этого сценария может потребоваться 2 секунды, чтобы перейти назад, затем 1,5 секунды, затем 3 секунды, а затем во второй раз, когда вы запустите скрипт, это может быть совершенно иначе.

Возможно, вы получите лучший результат, используя команду AppleScript «make shell», чтобы установить время с помощью сценариев командной строки.

Changing system date from the command line

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

+0

Я никогда не слышал приложение UIElementInspector и что он делает? Ничего себе, никогда не понимай, что просто играть со временем может уничтожить Mac ... И можно ли даже сделать Mac невозможным для загрузки? Или это худший вариант? Потому что я не хотел бы узнавать лично. В этом случае не делайте этого, создавая этот скрипт, если он разрушительный. – g1234g

+0

он не может даже потратить 2 секунды на выполнение задания, так как ему нужно делать это каждую секунду. –

+0

Да, кажется, что эта задача невозможна из-за проблем с синхронизацией - это то, что я получаю от вас, парень ... Может быть, есть другой подход к достижению этой цели. – g1234g