2013-10-31 63 views
0

我想使用蘋果腳本來設置屏幕共享密碼,並選中'VNC查看器可以控制帶密碼的屏幕'選項。我是蘋果腳本的新手,我所完成的只是檢查「系統偏好設置」的「共享」窗格下的「屏幕共享」選項。通過AppleScript設置屏幕共享密碼

這是我到目前爲止有:

 
tell application "System Preferences" 
    set current pane to pane "com.apple.preferences.sharing" 
end tell 
tell application "System Events" 
    tell process "System Preferences" 
     tell checkbox 1 of row 1 of table 1 of scroll area 1 of group 1 of window "Sharing" to if value is 0 then click 
    end tell 
    tell process "System Preferences" 
     click button 1 of group 1 of window "Sharing" 
     delay 1 
     set value of text field 1 to "p" 
    end tell 
end tell

但上面的代碼會提示我一個錯誤:

Can’t get text field 1 of process "System Preferences". Invalid index 
+0

請告訴我們你有什麼到目前爲止並在那裏你被卡住 – mcgrailm

+0

這裏是我到目前爲止@mcgrailm: 告訴應用程序「系統偏好設置」 \t設置當前窗格到窗格「com.apple.preferences。共享」 端告訴 告訴應用程序‘系統事件’ \t告訴進程‘系統偏好設置共享‘以值是否爲0’滾動區域窗口的1組的1表1的第1行的 \t \t告訴複選框1’然後點擊 \t end tell \t \t告訴進程「系統偏好設置」 \t \t點擊按鈕窗口1組「分享」 \t \t延遲1 \t \t設定值文本字段1爲「P」的1 \t年底告訴 端告訴 但上面的代碼會提示我一個錯誤:無法獲取進程「系統預置」的文本字段1。索引無效。 – paulo

+0

嗯,你可以把它放在你的帖子中 – mcgrailm

回答

0

這似乎爲我工作:

 
tell application "System Preferences" 
    set current pane to pane "com.apple.preferences.sharing" 
end tell 
tell application "System Events" 
    tell process "System Preferences" 
     tell checkbox 1 of row 1 of table 1 of scroll area 1 of group 1 of window "Sharing" to if value is 0 then click 
    end tell 
    tell process "System Preferences" 
     delay 1 
     click button 1 of group 1 of window "Sharing" 
     tell sheet 1 of window "Sharing" 
      tell checkbox "VNC viewers may control screen with password:" to if value is 0 then click 
      delay 1 
      set value of text field 1 to "p" 
      click button "ok" 
     end tell 
    end tell 
end tell 

具體文本字段(和「VNC查看者...」複選框和「確定」按鈕「是tell sheet 1 of window "Sharing"的成員,所以tell需要適當調整。

如果你不認識他們,一對夫婦的工具,使這種比較容易的事情:

  1. Accessibility Inspector是OSX捆綁的小工具(或者其在Xcode中 - 不知道) 。它提供了許多有關鼠標當前結束的任何窗口中的任何UI元素的信息。
  2. entire contents of允許您在使用Applescript編輯器時轉儲給定作用域中的所有UI元素。例如,如果我在該腳本的相應位置插入了get entire contents of window "Sharing",它將在Applescript編輯器的事件面板中列出窗口「共享」的所有UI元素。
+0

謝謝。有效。但我怎麼會自動輸入密碼'系統偏好設置是問我的密碼爲我的mac登錄用戶? – paulo

+0

@hnmpk - 我不完全確定。是否發生這種情況是因爲「系統偏好設置」對話框被鎖定,點擊「鎖定進行更改」?在我的情況下,如果這是鎖定的,那麼腳本完全失敗,「無法獲取窗口的表單1」共享「...」。但是,我解鎖它然後運行腳本,它運行沒有問題。 –

+0

我想我沒有解釋得很好。一旦設置了新的VNC密碼,它將提示我用這個「系統偏好設置」進行更改。輸入你的密碼以允許這一點。「我也希望它自動化。這可能嗎? – paulo