コード例 #1
0
        private void WoTRunningForceCloseButton_Click(object sender, RoutedEventArgs e)
        {
            AskCloseWoTResult = AskCloseWoTResult.Retry;
            Logging.Info("Getting WoT process(es)");
            Process WoTProcess = Utils.GetProcess(Settings.WoTProcessName, Settings.WoTDirectory);

            if (WoTProcess == null)
            {
                Logging.Error("Failed to get process (null result)");
                MessageBox.Show(Translations.GetTranslatedString("failedCloseProcess"));
                return;
            }
            try
            {
                WoTProcess.Kill();
                System.Threading.Thread.Sleep(100);
                if (WoTProcess.HasExited)
                {
                    Logging.Info("success in ending process!");
                    AskCloseWoTResult = AskCloseWoTResult.ForceClosed;
                    DialogResult      = true;
                    Close();
                }
                else
                {
                    Logging.Error("Failed to get process (timeout)");
                    MessageBox.Show(Translations.GetTranslatedString("failedCloseProcess"));
                    return;
                }
            }
            catch (Exception ex)
            {
                Logging.Error("Failed to kill process");
                Logging.Info(ex.ToString());
                MessageBox.Show(Translations.GetTranslatedString("failedCloseProcess"));
                return;
            }
        }
コード例 #2
0
 private void WoTRunningCancelInstallButton_Click(object sender, RoutedEventArgs e)
 {
     AskCloseWoTResult = AskCloseWoTResult.CancelInstallation;
     DialogResult      = false;
     Close();
 }
コード例 #3
0
 private void WoTRunningRetryButton_Click(object sender, RoutedEventArgs e)
 {
     AskCloseWoTResult = AskCloseWoTResult.Retry;
     DialogResult      = true;
     Close();
 }