2010-01-11 7 views
5

Necesito abrir el prefpane de red en mi aplicación. Esto funciona muy bien conProgrammáticamente abierto PrefPane con la sección

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

Pero cómo puedo abrir directamente los "sustitutivos-settings", que está en la "red-pref" en "avanzado"?

Esto se puede ver en las Safari-configuración en "Avanzado-> Proxies"

Gracias

Respuesta

6

La forma más fácil y limpia que he encontrado es usar 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]; 

Reemplace com.apple.preference.universalaccess con el nombre del panel. Here is a full list of preference pane names.

+0

Esto podría ser útil para mí. ¡Gracias! – Nobik

2

Si bien es factible con secuencias de comandos de interfaz de usuario, sino que también requiere el acceso a los dispositivos de ayuda (Preferencias del sistema> Acceso Universal) Eso no parece correcto porque si un usuario prefiere el acceso deshabilitado, eso simplemente no funcionará. Si necesita modificar la configuración del proxy, puede usar SystemConfiguration.framework directamente, pasando por la autenticación necesaria.

+0

No quiero modificarlo. Solo ábrelo para que el usuario pueda modificarlo él mismo. Gracias por la información con la opción en "acceso universal" – Nobik

Cuestiones relacionadas