Esempio n. 1
0
 /// <summary>
 /// エンコードが終了した際の処理
 /// </summary>
 /// <param name="task">結果</param>
 private void OnTaskCompleted(Task <bool> task)
 {
     if (task.Status == TaskStatus.RanToCompletion)
     {
         if (task.Result == false)
         {
             throw new Exception("エンコードが失敗しました");
         }
         else
         {
             MyErrorHandling.showInfoMessage("エンコードが終了しました");
         }
     }
 }
Esempio n. 2
0
        /// <summary>
        /// XML形式で記述されたファイルを読み込み、データを抽出する
        /// </summary>
        /// <param name="strXmlName">読み込むXMLの名前</param>
        /// <param name="strElementName">1階層目の要素名</param>
        /// <param name="strNodeName">strElementNameに属する2階層目の要素名</param>
        /// <returns>抽出したデータ</returns>
        public static string ReadConfig(this XDocument xdoc, string strElementName, string strNodeName)
        {
            string strXmlPath = String.Empty;

            try
            {
                // 読み込んだXML形式の文書から目的の情報を抽出する
                strXmlPath = xdoc.Root.Elements()
                             .Where(elements => elements.Name == strElementName)
                             .Select(nodes => nodes.Descendants(strNodeName)
                                     .Select(node => node.Value)
                                     .First())
                             .First();
            }
            catch (Exception ex)
            {
                MyErrorHandling.showErrorMessage(ex.Message + "\r\n\r\nXML:" + xdoc + "\r\nElement:" + strElementName + "\r\nNode:" + strNodeName);
            }

            return(strXmlPath);
        }
Esempio n. 3
0
        /// <summary>
        /// 外部アプリケーションを起動するためのプロセスを作成し、コマンドライン引数を渡した状態で起動する
        /// (アプリケーションのディレクトリを指定して起動)
        /// </summary>
        /// <param name="strAppName">アプリケーション名</param>
        /// <param name="strAppDir">アプリケーションの格納されているディレクトリ</param>
        /// <param name="strAppArg">コマンドライン引数</param>
        /// <returns>外部アプリケーションの標準出力</returns>
        public static Process ProcessStart(ExternalAppSettings setting)
        {
            // プロセスのオブジェクトを作成
            Process process = new Process();

            try
            {
                // 外部アプリケーションをプロセスのオブジェクトに関連付ける
                process.StartInfo.FileName = setting.AppRoot;

                // プロセスに渡す引数を設定
                process.StartInfo.Arguments = setting.ArgumentString;

                // 標準出力を受け取る設定
                process.StartInfo.RedirectStandardOutput = true;

                // 実行時にシェルを使うかの設定(ウインドウを隠すときはfalseにしなければならない)
                process.StartInfo.UseShellExecute = false;

                // ウインドウを隠すかどうかの設定
                process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

                // 外部アプリケーションの画面を非表示(GUIがない場合)
                process.StartInfo.CreateNoWindow = true;

                // 起動失敗時にエラーダイアログを表示
                process.StartInfo.ErrorDialog = true;

                //// 標準出力を取得するイベントハンドラ
                process.OutputDataReceived += MainForm.form.process_OutputDataReceived;
                process.Start();
                process.BeginOutputReadLine();
            }
            catch (Exception ex)
            {
                MyErrorHandling.showErrorMessage(ex.Message, ex);
            }

            return(process);
        }