using HotelPms.Share.IO; using HotelPms.Share.Util; using System; using System.Windows.Forms; namespace HotelPms.Share.Windows.Service { public class MonitorSetting : DictionarySetting { public enum SettingKey : int { /// /// 0.ClientSide 1.ServerSide /// ServiceType, Port, } private static MonitorSetting m_Instance = null; public static MonitorSetting Instance { get { return m_Instance; } } /// /// アプリケーションの初期化 /// /// public static bool Initialize() { try { m_Instance = new MonitorSetting(); m_Instance.FileName = Application.StartupPath + @"\MonitorSetting.json"; m_Instance.Load(); return true; } catch (Exception ex) { OperationLog.Instance.WriteLog($"MonitorSetting.Initialize異常エラー:{ex.Message}"); return false; } } public static void Dispose() { } public override void SetDefault() { if (!Data.ContainsKey(SettingKey.ServiceType.ToString())) { Data.Add(SettingKey.ServiceType.ToString(), "0"); } if (!Data.ContainsKey(SettingKey.Port.ToString())) { Data.Add(SettingKey.Port.ToString(), "46498"); } } /// /// Windows起動時実行 /// public static void SetStartUpRun() { try { //Runキーを開く using (Microsoft.Win32.RegistryKey regkey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true)) { if (regkey == null) { return; } //値の名前に製品名、値のデータに実行ファイルのパスを指定し、書き込む regkey.SetValue(Application.ProductName, Application.ExecutablePath); //閉じる regkey.Close(); } } catch { } } } }