static void Main(string[] args) { var assem = System.Reflection.Assembly.GetExecutingAssembly(); var attr = (System.Runtime.InteropServices.GuidAttribute)Attribute.GetCustomAttribute(assem, typeof(System.Runtime.InteropServices.GuidAttribute)); var guid = attr.Value; System.Threading.Mutex mutex; bool hasHandle = false; using (mutex = new System.Threading.Mutex(false, guid)) { try { try { // Mutexの所有権を要求 hasHandle = mutex.WaitOne(0, false); } catch (System.Threading.AbandonedMutexException) { // 別アプリがMutexオブジェクトを開放しないで終了した場合 hasHandle = true; //throw; } if (hasHandle == false) { // Mutexの所有権が得られなかったため、起動済みと判断して終了 MessageBox.Show("既に起動されています。"); return; } //--------------------------------------------------------- // アプリケーション開始 //--------------------------------------------------------- Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //AoedeGlobal _g = new AoedeGlobal(); AoedeStaticGlobal.Settings = AoEDEAlarmSettings.LoadXml(); StartHotkeys(); NotifyIcon ni = SetNotifyIcon(); System.Windows.Forms.Application.Run(); ni.Dispose(); AoEDEAlarmSettings.SaveXml(AoedeStaticGlobal.Settings); } catch (Exception ex) { // アプリケーション例外処理 Console.WriteLine(ex.Message); //throw; } finally { if (hasHandle) { mutex.ReleaseMutex(); } mutex.Close(); } } }
private void button1_Click(object sender, EventArgs e) { AoedeStaticGlobal.Settings.Hotkey_Run = (int)KeysArr[0]; AoedeStaticGlobal.Settings.Hotkey_Stop = (int)KeysArr[1]; AoedeStaticGlobal.Settings.Hotkey_Customise = (int)KeysArr[2]; AoEDEAlarmSettings.SaveXml(AoedeStaticGlobal.Settings); MessageBox.Show(text: "位置を保存しました。" , caption: "画像位置設定" , buttons: MessageBoxButtons.OK , icon: MessageBoxIcon.Information , defaultButton: MessageBoxDefaultButton.Button1 , options: MessageBoxOptions.DefaultDesktopOnly ); this.Close(); }
private void button1_Click(object sender, EventArgs e) { AoedeStaticGlobal.Settings.Wood.X = _ps.Wood.X; AoedeStaticGlobal.Settings.Wood.Y = _ps.Wood.Y; AoedeStaticGlobal.Settings.Wood.Width = _ps.Wood.Width; AoedeStaticGlobal.Settings.Wood.Height = _ps.Wood.Height; AoedeStaticGlobal.Settings.Food.X = _ps.Food.X; AoedeStaticGlobal.Settings.Food.Y = _ps.Food.Y; AoedeStaticGlobal.Settings.Food.Width = _ps.Food.Width; AoedeStaticGlobal.Settings.Food.Height = _ps.Food.Height; AoedeStaticGlobal.Settings.Gold.X = _ps.Gold.X; AoedeStaticGlobal.Settings.Gold.Y = _ps.Gold.Y; AoedeStaticGlobal.Settings.Gold.Width = _ps.Gold.Width; AoedeStaticGlobal.Settings.Gold.Height = _ps.Gold.Height; AoedeStaticGlobal.Settings.Stone.X = _ps.Stone.X; AoedeStaticGlobal.Settings.Stone.Y = _ps.Stone.Y; AoedeStaticGlobal.Settings.Stone.Width = _ps.Stone.Width; AoedeStaticGlobal.Settings.Stone.Height = _ps.Stone.Height; AoedeStaticGlobal.Settings.Population.X = _ps.Population.X; AoedeStaticGlobal.Settings.Population.Y = _ps.Population.Y; AoedeStaticGlobal.Settings.Population.Width = _ps.Population.Width; AoedeStaticGlobal.Settings.Population.Height = _ps.Population.Height; AoEDEAlarmSettings.SaveXml(AoedeStaticGlobal.Settings); MessageBox.Show(text: "位置を保存しました。" , caption: "画像位置設定" , buttons: MessageBoxButtons.OK , icon: MessageBoxIcon.Information , defaultButton: MessageBoxDefaultButton.Button1 , options: MessageBoxOptions.DefaultDesktopOnly ); this.Close(); }