public static bool GetBool(string p_Name, bool p_DefaultValue) { string methSig = $"GetBool({p_Name},{p_DefaultValue})"; RegistryKey currentUser = Registry.CurrentUser; TraceLogger.Debug($"{methSig}: RegistryKey[CurrentUser]='{currentUser?.Name??"NULL"}'"); currentUser.CreateSubKey("Software\\ASCOM\\Utilities"); RegistryKey registryKey = currentUser.OpenSubKey("Software\\ASCOM\\Utilities", true); TraceLogger.Debug($"{methSig}: RegistryKey[Utilities]='{registryKey?.Name ?? "NULL"}'"); bool flag = false; try { if (registryKey.GetValueKind(p_Name) == RegistryValueKind.String) { string keyValue = registryKey.GetValue(p_Name).ToString(); TraceLogger.Debug($"{methSig}: RegistryKey[Utilities.{p_Name}]='{keyValue ?? "NULL"}'"); flag = Conversions.ToBoolean(keyValue); } } catch (IOException ex1) { TraceLogger.Debug($"Exception1: Get RegistryValue: {ex1.GetType().Name}"); TraceLogger.Debug(ex1.ToString()); //ProjectData.SetProjectError((Exception) ex1); try { RegistryCommonCode.SetName(p_Name, p_DefaultValue.ToString()); flag = p_DefaultValue; } catch (Exception ex2) { TraceLogger.Debug($"Exception2: SetName: {ex2.GetType().Name}"); TraceLogger.Debug(ex2.ToString()); //ProjectData.SetProjectError(ex2); flag = p_DefaultValue; //ProjectData.ClearProjectError(); } //ProjectData.ClearProjectError(); } catch (Exception ex) { TraceLogger.Debug($"Exception: Get RegistryValue: {ex.GetType().Name}"); TraceLogger.Debug(ex.ToString()); //ProjectData.SetProjectError(ex); flag = p_DefaultValue; //ProjectData.ClearProjectError(); } registryKey.Flush(); registryKey.Close(); currentUser.Flush(); currentUser.Close(); return(flag); }
public static Serial.WaitType GetWaitType(string p_Name, Serial.WaitType p_DefaultValue) { RegistryKey currentUser = Registry.CurrentUser; currentUser.CreateSubKey("Software\\ASCOM\\Utilities"); RegistryKey registryKey = currentUser.OpenSubKey("Software\\ASCOM\\Utilities", true); Serial.WaitType waitType = Serial.WaitType.Sleep; try { if (registryKey.GetValueKind(p_Name) == RegistryValueKind.String) { waitType = (Serial.WaitType)Conversions.ToInteger(Enum.Parse(typeof(Serial.WaitType), registryKey.GetValue(p_Name).ToString())); } } catch (IOException ex1) { //ProjectData.SetProjectError((Exception) ex1); try { RegistryCommonCode.SetName(p_Name, p_DefaultValue.ToString()); waitType = p_DefaultValue; } catch (Exception ex2) { //ProjectData.SetProjectError(ex2); waitType = p_DefaultValue; //ProjectData.ClearProjectError(); } //ProjectData.ClearProjectError(); } catch (Exception ex) { //ProjectData.SetProjectError(ex); waitType = p_DefaultValue; //ProjectData.ClearProjectError(); } registryKey.Flush(); registryKey.Close(); currentUser.Flush(); currentUser.Close(); return(waitType); }
public static DateTime GetDate(string p_Name, DateTime p_DefaultValue) { RegistryKey currentUser = Registry.CurrentUser; currentUser.CreateSubKey("Software\\ASCOM\\Utilities"); RegistryKey registryKey = currentUser.OpenSubKey("Software\\ASCOM\\Utilities", true); DateTime dateTime = default(DateTime); try { if (registryKey.GetValueKind(p_Name) == RegistryValueKind.String) { dateTime = Conversions.ToDate(registryKey.GetValue(p_Name)); } } catch (IOException ex1) { //ProjectData.SetProjectError((Exception) ex1); try { RegistryCommonCode.SetName(p_Name, p_DefaultValue.ToString()); dateTime = p_DefaultValue; } catch (Exception ex2) { //ProjectData.SetProjectError(ex2); dateTime = p_DefaultValue; //ProjectData.ClearProjectError(); } //ProjectData.ClearProjectError(); } catch (Exception ex) { //ProjectData.SetProjectError(ex); dateTime = p_DefaultValue; //ProjectData.ClearProjectError(); } registryKey.Flush(); registryKey.Close(); currentUser.Flush(); currentUser.Close(); return(dateTime); }
public static string GetString(string p_Name, string p_DefaultValue) { string str = ""; RegistryKey currentUser = Registry.CurrentUser; currentUser.CreateSubKey("Software\\ASCOM\\Utilities"); RegistryKey registryKey = currentUser.OpenSubKey("Software\\ASCOM\\Utilities", true); try { if (registryKey.GetValueKind(p_Name) == RegistryValueKind.String) { str = registryKey.GetValue(p_Name).ToString(); } } catch (IOException ex1) { //ProjectData.SetProjectError((Exception) ex1); try { RegistryCommonCode.SetName(p_Name, p_DefaultValue.ToString()); str = p_DefaultValue; } catch (Exception ex2) { //ProjectData.SetProjectError(ex2); str = p_DefaultValue; //ProjectData.ClearProjectError(); } //ProjectData.ClearProjectError(); } catch (Exception ex) { //ProjectData.SetProjectError(ex); str = p_DefaultValue; //ProjectData.ClearProjectError(); } registryKey.Flush(); registryKey.Close(); currentUser.Flush(); currentUser.Close(); return(str); }