public static void LoadEngineSettings(EngineSettingsType engineSettingsType) { RegistryKey key = Registry.LocalMachine.OpenSubKey(APPLICATION_ENGINE_REGISTRY_KEY, false); if (key != null) { switch (engineSettingsType) { case EngineSettingsType.ApplicationDataFolder: EngineSettings.SetApplicationDataFolder((string)key.GetValue("Application Data Folder", EngineSettings.DEFAULT_APPLICATION_DATA_FOLDER)); break; case EngineSettingsType.SleepTime: EngineSettings.SleepTime = TimeSpan.Parse((string)key.GetValue("Sleep Time", EngineSettings.DEFAULT_SLEEP_TIME)); break; case EngineSettingsType.UseSpecificOutputFolder: EngineSettings.UseSpecificOutputFolder = bool.Parse((string)key.GetValue("Use Specific Output Folder", EngineSettings.DEFAULT_USE_SPECIFIC_OUTPUT_FOLDER)); break; case EngineSettingsType.OutputFolder: EngineSettings.SetOutputFolder((string)key.GetValue("Output Folder", EngineSettings.DEFAULT_OUTPUT_FOLDER)); break; case EngineSettingsType.RootPaths: EngineSettings.RootPaths.Clear(); List <string> subKeys = key.GetSubKeyNames().ToList(); subKeys.Sort(); foreach (string subKey in subKeys) { if (subKey.StartsWith("Root Path ")) { RegistryKey rootPathKey = key.OpenSubKey(subKey, false); if (rootPathKey != null) { string path = (string)rootPathKey.GetValue("Path", null); string userName = (string)rootPathKey.GetValue("User Name", string.Empty); string password = (string)rootPathKey.GetValue("Password", string.Empty); if (path != null) { EngineSettings.AddRootPath(new RootPath(path, userName, password)); } rootPathKey.Close(); } } } break; } key.Close(); } }
public static void SaveEngineSettings(EngineSettingsType engineSettingsType) { RegistryKey key = Registry.LocalMachine.CreateSubKey(APPLICATION_ENGINE_REGISTRY_KEY); if (key != null) { switch (engineSettingsType) { case EngineSettingsType.ApplicationDataFolder: key.SetValue("Application Data Folder", EngineSettings.ApplicationDataFolder); break; case EngineSettingsType.SleepTime: key.SetValue("Sleep Time", EngineSettings.SleepTime.ToString()); break; case EngineSettingsType.UseSpecificOutputFolder: key.SetValue("Use Specific Output Folder", EngineSettings.UseSpecificOutputFolder); break; case EngineSettingsType.OutputFolder: key.SetValue("Output Folder", EngineSettings.OutputFolder); break; case EngineSettingsType.RootPaths: foreach (string subKey in key.GetSubKeyNames()) { if (subKey.StartsWith("Root Path ")) { key.DeleteSubKeyTree(subKey); } } int rootPathCount = 0; foreach (RootPath rootPath in EngineSettings.RootPaths) { RegistryKey rootPathKey = key.CreateSubKey("Root Path " + rootPathCount.ToString("00")); if (rootPathKey != null) { rootPathKey.SetValue("Path", rootPath.Path); rootPathKey.SetValue("User Name", rootPath.UserName); rootPathKey.SetValue("Password", rootPath.Password); rootPathKey.Close(); } rootPathCount++; } break; } key.Close(); } }
public static void Save(EngineSettingsType engineSettingsType) { RegistryHandler.SaveEngineSettings(engineSettingsType); }
public static void Load(EngineSettingsType engineSettingsType) { RegistryHandler.LoadEngineSettings(engineSettingsType); }