2010-01-11 8 views
5

Ich muss das Netzwerk-Prepane in meiner App öffnen. Dies funktioniert gut mitProgrammgesteuert öffnen PreFPane mit Abschnitt

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

Aber wie kann ich direkt die „Proxy-Einstellungen“ öffnen, die im „Netzwerk-pref“ unter „Erweitert“ ist?

du sehen in den Safari-Einstellungen unter "Erweitert-> Proxies"

Dank

Antwort

6

Der einfachste und sauberste Weg, den ich gefunden habe, ist Applescript zu verwenden.

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]; 

Ersetzen Sie com.apple.preference.universalaccess durch den Namen des Bereichs. Here is a full list of preference pane names.

+0

Das könnte für mich nutzbar sein. Vielen Dank! – Nobik

2

Während es mit UI-Scripting machbar ist, es erfordert auch den Zugang zu Hilfsgeräte (System Einstellungen-> Universal Access). Das fühlt sich nicht richtig an, denn wenn ein Benutzer den Zugriff deaktiviert, funktioniert das einfach nicht. Wenn Sie die Proxyeinstellungen ändern müssen, können Sie SystemConfiguration.framework direkt verwenden und die erforderliche Authentifizierung durchführen.

+0

Ich möchte es nicht ändern. Öffnen Sie es einfach, damit der Benutzer es selbst ändern kann. Danke für die Info mit der Option in "universal access" – Nobik

Verwandte Themen