Как получить значение System Preferences используя eScript. Очень просто. Пример ниже.
Более универсальный, есть возможность поставить значение по умолчанию
function GetSysParam(paramName, defValue, paramFieldName){ var paramValue = ""; var paramField = "Value"; if (paramFieldName != null && paramFieldName != ""){ paramField = paramFieldName; } var boSysPref = TheApplication().GetBusObject("System Preferences"); var bcSysPref = boSysPref.GetBusComp("System Preferences"); bcSysPref.ActivateField("Name"); bcSysPref.ActivateField("Value"); bcSysPref.ActivateField("Comments"); bcSysPref.ClearToQuery(); bcSysPref.SetSearchSpec("Name", paramName); bcSysPref.ExecuteQuery(1); if (bcSysPref.FirstRecord()){ paramValue = bcSysPref.GetFieldValue(paramField); } else { paramValue = defValue; } bcSysPref=null; boSysPref=null; return paramValue; } //Пример вызова GetSysParam("System Preferences Name", "Y", "Value/Comments/Name");
Этот вариант намного проще.
function GetSysParam(pField) { var boSysPref, bcSysPref; boSysPref = TheApplication().GetBusObject("System Preferences"); bcSysPref = boSysPref.GetBusComp("System Preferences"); bcSysPref.ActivateField("Name"); bcSysPref.ActivateField("Value"); bcSysPref.ClearToQuery(); bcSysPref.SetSearchSpec("Name", pField); bcSysPref.ExecuteQuery(1); if (bcSysPref.FirstRecord()){ return( bcSysPref.GetFieldValue("Value")); } else { return (""); } }