/// <summary> /// 在Windows浏览器中打开指定的路径,如果失败会报错。 /// </summary> /// <param name="path"></param> public static void OpenFolderInWindows(string path) { try { if (File.Exists(path)) { System.Diagnostics.Process.Start("explorer.exe", "/select, " + path + "\\" + ", /n"); } else if (Directory.Exists(path)) { System.Diagnostics.Process.Start("Explorer.exe", path); } else { MessageBox.Show("路径不存在,无法打开。", "打开失败", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception e1) { MessageBox.Show("路径打开失败。原因:" + e1.Message, "打开失败", MessageBoxButtons.OK, MessageBoxIcon.Information); Funs.AddLog(e1.Message); } }
/// <summary> /// 添加文件到日志。 /// </summary> /// <param name="events">事件类型。</param> /// <param name="reason">原因。</param> /// <param name="file">相关文件。</param> public static void AddLog(string events, string reason, string file) { Funs.AddLog(events + "\t" + reason + "\t" + file); }
/// <summary> /// 添加文件到日志。 /// </summary> /// <param name="events">事件类型。</param> /// <param name="reason">原因。</param> public static void AddLog(string events, string reason) { Funs.AddLog(events + "\t" + reason + "\t无"); }
private void processTransducing() { int transed = 0; while (true) { //这三个时间分别表示当前时间,开始时间和结束时间。 DateTime dt = DateTime.Now; DateTime start = new DateTime(dt.Year, dt.Month, dt.Day, pd.StartTime.Hour, pd.StartTime.Minute, pd.StartTime.Second); DateTime end = new DateTime(dt.Year, dt.Month, dt.Day, pd.EndTime.Hour, pd.EndTime.Minute, pd.EndTime.Second); //只有在开始和结束时间范围内才会开始下一次转换。 if (pd.SupportAutoTransducer && !(dt >= start && dt <= end)) { Thread.Sleep(1); continue; } try { for (int i = 0; i < lvInputList.Items.Count; i++) { if (selectedonly && !lvInputList.Items[i].Checked) { continue; } InputPath ip = lvInputList.Items[i].Tag as InputPath; lvInputList.Items[i].BackColor = Color.LightGray; // process transducing. trans.ProcessInput(ip); lvInputList.Items[i].BackColor = Color.White; ip.LastTranducingTime = DateTime.Now; lvInputList.Items[i].SubItems[2].Text = ip.LastTranducingTime.ToString(); transed += trans.LogList.Count(l => l.LogType == LogType.Success); //处理完成后,把日志添加到日志列表中去。日志存放在trans.LogList中。 for (int j = 0; j < trans.LogList.Count; j++) { TransLog log = trans.LogList[j]; //编号,0.时间,1.事件,2.原因,3.输出文件 lvLogs.Items.Insert(0, new ListViewItem(log.GetStrings())); //Funs.AddLog(log.LogType.ToString(), log.Content, log.Output); Funs.AddLog(log); } } Thread.Sleep(100); Application.DoEvents(); } catch (Exception e1) { Funs.AddLog("TRANS", "NONE", e1.Message); } if (!pd.SupportAutoTransducer || !pd.AutoTransducerAvaliable) { Reset(); MessageBox.Show("转换完成。\n共转换 " + transed + "个文件。", "转换完成", MessageBoxButtons.OK); break; } trans.LogList.Clear(); Application.DoEvents(); Thread.Sleep(pd.getCircleInterval() * 1000); } }