Sử dụng AppleScript để chuyển đổi Chia sẻ Internet không hoạt động


0

Tôi đang sử dụng một applescript để kích hoạt tùy chọn chia sẻ internet từ 'System Pref> Sharing'. Tôi làm việc trên MacOs 10.9.4. Tôi tìm thấy kịch bản này trên một diễn đàn và đang sử dụng nó. Điều này hoạt động tốt, khi cửa sổ Tùy chọn hệ thống đang mở. Tuy nhiên, khi cửa sổ Tùy chọn hệ thống bị đóng, tập lệnh sẽ mở cửa sổ Hệ thống Prefs và sau đó hiển thị thông báo lỗi này:

 System Events got an error: Cant get menu item \"Sharing\" of menu \"View\" of menu bar 1 of process \"System Preferences\"." number -1728 from menu item "Sharing" of menu "View" of menu bar 1 of process "System Preferences"

Đây là mã cho kịch bản

tell application "System Preferences"
        activate
    end tell
    tell application "System Events"
        activate
        tell process "System Preferences"

            click menu item "Sharing" of menu "View" of menu bar 1
            delay 2
            tell window "Sharing"...
//code after this 

Tôi không thành thạo AppleScript, nhưng chỉ cần sử dụng cái này để có một phím tắt để chuyển đổi chia sẻ internet. Ngoài ra, diễn đàn tôi nhận được từ đó cho biết những người dùng khác có thể sử dụng tập lệnh. Tôi tự hỏi liệu nó có liên quan gì đến MAcOs 10.9 không

Câu trả lời:


1

Bạn có thể sử dụng mã này để kích hoạt chia sẻ với các cài đặt đã có:

tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preferences.sharing"
end tell
tell application "System Events" to tell process "System Preferences"

    --find lock and click it if it is not unlocked
    repeat with x in buttons of window "Sharing"
        try
            if (value of attribute "AXTitle" of x) is equal to "Click the lock to make changes." then
                click x
            end if
        end try
    end repeat
    delay 5

    --find the checkbox for Internet Sharing and select the row so script can enable sharing through ethernet
    repeat with r in rows of table 1 of scroll area 1 of group 1 of window "Sharing"
        if (value of static text of r as text) starts with "Internet" then
            select r
        end if
    end repeat
    delay 2

    --enable Internet Sharing
    repeat with r in rows of table 1 of scroll area 1 of group 1 of window "Sharing"
        if (value of static text of r as text) starts with "Internet" then
            set sharingBool to value of checkbox of r as boolean
            select r
            if sharingBool is false then click checkbox of r
        end if
    end repeat
    delay 2

    if (exists sheet 1 of window "Sharing") then
        click button "Start" of sheet 1 of window "Sharing"
    end if
    delay 2

end tell
ignoring application responses
    tell application "System Preferences" to quit
end ignoring

Hi vọng điêu nay co ich!


0

Một cách khác để mở Tùy chọn hệ thống vào ngăn Chia sẻ là ...

tell application "System Preferences"
    activate
    set current pane to pane id "com.apple.preferences.sharing"
end tell

Điều này sẽ hoạt động cho dù System Preferences có mở hay không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.