private void frmMain_Shown(object sender, EventArgs e)
        {
            txbProcessName.Text  = ConfigManage.GetSettingValue("processname");
            txbExePath.Text      = ConfigManage.GetSettingValue("exepath");
            mtxtRestartTime.Text = ConfigManage.GetSettingValue("restarttime");

            new Thread(StartTimer).Start();
        }
        private void btnSetting_Click(object sender, EventArgs e)
        {
            var settings = new Dictionary <string, string>();

            settings.Add("processname", txbProcessName.Text.Trim());
            settings.Add("exepath", txbExePath.Text.Trim());
            settings.Add("restarttime", mtxtRestartTime.Text.Trim());
            ConfigManage.AddSetings(settings);
        }
        void StartTimer()
        {
            while (true)
            {
                var dateString = ConfigManage.GetSettingValue("date").Trim();
                try
                {
                    if (!string.IsNullOrEmpty(dateString) && dateString == DateTime.Now.ToString("yyyy-MM-dd") && DateTime.Now.ToString("HH:mm") == mtxtRestartTime.Text)
                    {
                        foreach (var process in Process.GetProcesses())
                        {
                            if (process.ProcessName.ToLower() == txbProcessName.Text.ToLower())
                            {
                                process.Kill();
                            }
                        }
                        Process.Start(txbExePath.Text);
                        var settings = new Dictionary <string, string>();
                        settings.Add("date", DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"));
                        ConfigManage.AddSetings(settings);
                    }

                    this.BeginInvoke(new Action(() =>
                    {
                        labMessage.Text = "";
                    }));
                }
                catch (Exception exc)
                {
                    this.BeginInvoke(new Action(() =>
                    {
                        labMessage.Text = exc.Message;
                    }));
                }
                finally
                {
                    System.Threading.Thread.Sleep(1000 * 20);
                }
            }
        }