2010-01-11 36 views
5

Tôi cần mở ứng dụng prefpane trong ứng dụng của mình. Điều này hoạt động tốt vớiMở PrefPane theo chương trình với phần

[[NSWorkspace sharedWorkspace] openFile:@"/Path/To/PrefPane"]; 

Nhưng làm cách nào tôi có thể trực tiếp mở "cài đặt proxy", trong "mạng-pref" trong "nâng cao"?

Bạn có thể thấy điều này trong Safari-Cài đặt dưới "Advanced-> Proxies"

Cảm ơn

Trả lời

6

Cách dễ nhất và sạch nhất mà tôi tìm thấy là sử dụng Applescript.

NSAppleScript *a = [[NSAppleScript alloc] initWithSource:@"tell application \"System Preferences\"\nactivate\nset current pane to pane \"com.apple.preference.universalaccess\"\nend tell"]; 
[a executeAndReturnError:nil]; 
[a release]; 

Thay thế com.apple.preference.universalaccess bằng tên của ngăn. Here is a full list of preference pane names.

+0

Điều này có thể sử dụng được cho tôi. Cảm ơn! – Nobik

2

Trong khi nó doable với giao diện người dùng kịch bản, nó cũng đòi hỏi quyền truy cập vào thiết bị trợ giúp (Tùy chọn Hệ thống-> Truy cập Phổ). Điều đó không cảm thấy đúng bởi vì nếu người dùng thích quyền truy cập bị vô hiệu hóa, điều đó sẽ không hoạt động. Nếu bạn cần thay đổi cài đặt proxy, bạn có thể sử dụng SystemConfiguration.framework trực tiếp, thực hiện quá trình xác thực cần thiết.

+0

Tôi không muốn sửa đổi nó. Chỉ cần mở nó mà người dùng có thể tự sửa đổi nó. Cảm ơn thông tin có tùy chọn trong "truy cập phổ quát" – Nobik

Các vấn đề liên quan