2010-01-11 16 views
5

我需要在我的應用程序中打開網絡預加工。這工作正常與以編程方式打開PrefPane,部分爲

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

但我怎麼能直接打開「代理設置」,這是在「先進」的「網絡前綴」?

您可以在Safari瀏覽器設置「代理高級 - >」

感謝

回答

6

我發現的最簡單最清潔的方式就是使用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]; 

將com.apple.preference.universalaccess替換爲窗格名稱。 Here is a full list of preference pane names

+0

這可能適用於我。謝謝! – Nobik 2010-01-14 08:43:20

2

雖然這是可行的與用戶界面腳本下看到這一點,它也需要訪問輔助設備(系統首選項 - >通用訪問)。這感覺不對,因爲如果用戶更喜歡禁用訪問,那是行不通的。如果您需要修改代理設置,則可以直接使用SystemConfiguration.framework,通過必要的身份驗證。

+0

我不想修改它。打開它,用戶可以自己修改它。 感謝您使用「universal access」選項中的信息 – Nobik 2010-01-14 08:42:35