private void toolStripStatusLabel2_Click(object sender, EventArgs e) { if (Form_msg.Show(this, "لغو عملیات؟", btn: MessageBoxButtons.YesNo) == DialogResult.Yes) { git.abort = true; } }
private void button_restore_Click(object sender, EventArgs e) { if (dataGridView_backups.SelectedRows.Count == 0) { return; } try { var tmp = textBox_local.Text.Replace("\r", "").Replace("\n", "").Replace("\\", "").Replace("--", "-").Replace("--", "-").Trim(); if (tmp == "" || tmp == "-") { Form_msg.Show(this, "آدرس محلی را وارد کنید"); return; } var b = dataGridView_backups.SelectedRows[0].Cells[0].Value as MRB_Git.BackupInfo; if (b.InfoSection["user"] != textBox_user.Text) { return; } if (Form_msg.Show(this, "فایل موجود در آدرس محلی کاملا حذف شود؟" + "\r\n" + textBox_local.Text.Trim(), btn: MessageBoxButtons.YesNo, icon: MessageBoxIcon.Question) == DialogResult.Yes) { Directory.Delete(textBox_local.Text.Trim() + "\\", true); } backgroundWorker_restore.RunWorkerAsync(new object[] { b, textBox_local.Text.Trim() }); } catch { } }
private void deleteToolStripMenuItem_Click(object sender, EventArgs e) { if (Form_msg.Show(this, "با حذف یک پشتیبانی، فایل مربوطه نیز حذف خواهند شد. آیا ادامه می دهید؟", btn: MessageBoxButtons.YesNo) == DialogResult.Yes) { var b = dataGridView_backups.SelectedRows[0].Cells[0].Value as MRB_Git.BackupInfo; var n = git.Delete(b.path); button_refresh_Click(this, null); Form_msg.Show(this, n + " " + "فایل پاک شد"); } }
public Form_MRB_Git(MyData db, Project project) { try { InitializeComponent(); this.project = project; this.db = db; textBox_server.Text = db.settings.BackUpServer; height_full = this.Height; if (project != null) { textBox_project.Text = project.code; git.user = textBox_user.Text = db.user.ID; textBox_local.Text = project.LocalPath; textBox_skip_pat.Text = project.BackUpSkipPattern; if (db.settings.BackUpServer + "" == "" || db.settings.BackUpServer + "" == "\\") { checkBox_network.Checked = true; } textBox_skip_pat_TextChanged(this, null); } else { if (WebServer.Default.IsConnected) { Height = 130; textBox_project.ReadOnly = false; textBox_user.ReadOnly = false; checkBox_network.Checked = true; checkBox_network.Enabled = false; textBox_project.Text = ""; git.user = textBox_user.Text = ""; textBox_user.AutoCompleteCustomSource.Clear(); textBox_user.AutoCompleteMode = AutoCompleteMode.SuggestAppend; textBox_user.AutoCompleteSource = AutoCompleteSource.CustomSource; Users = WebServer.Default.GetUserList(); foreach (IniFile.IniSection user in Users.Sections) { textBox_user.AutoCompleteCustomSource.Add(" " + user["name"].Trim()); textBox_user.AutoCompleteCustomSource.Add(user["name"].Trim()); } textBox_user.Text = db.user.name; button_ok.Visible = true; } else { Form_msg.Show(this, new Exception("خطا در اتصال به شبکه! این قابلیت فقط تحت شبکه در دسترس است")); timer_close.Start(); } } } finally { ignor_events = false; } textBox_server_TextChanged(this, null); }
public WordEditor(string fileName) { this.FileName = fileName; while (ExcelEditor.IsFileLocked(FileName)) { Form_msg.Show(null, "فایل باز است:" + "\r\n" + FileName + "\r\n" + "لطفا آن را ببندید"); } dir = Path.GetTempPath() + "\\stp-" + Path.GetFileNameWithoutExtension(FileName) + "\\"; Zip.UnZipFiles(FileName, dir, deleteZipFile: false); Content = File.ReadAllText(dir + "word\\document.xml"); }
private void Form_MRB_Git_all_Shown(object sender, EventArgs e) { if ((DateTime.Now - LastMessageShown).TotalMinutes > 5) { if (Form_msg.Show(this, "لیست پروژه ها از سرور بارگذاری شود؟" + "\r\n" + "نام و کد پروژه ها از سرور دریافت خواهد شد", btn: MessageBoxButtons.YesNo) == DialogResult.Yes) { if (Form_list.LoadProjectList(this)) { UpdateList(); } } } }
private void backgroundWorker_back_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { toolStripProgressBar1.Visible = false; toolStripStatusLabel1.Visible = false; toolStripStatusLabel2.Visible = false; button_refresh_Click(sender, e); button_backup.Enabled = true; if (e.Result is Exception) { Form_msg.Show(this, e.Result as Exception, "StopWatch - BackUp"); } if (warning_files != null && warning_files.Count > 0) { new Form_MRB_Git_Warning(last_backup_info, warning_files).ShowDialog(); button_refresh_Click(sender, e); } git.CloseOpennedArchives(); }
private void backgroundWorker_restore_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { toolStripProgressBar1.Visible = false; toolStripStatusLabel1.Visible = false; toolStripStatusLabel2.Visible = false; if (e.Result is Exception) { Form_msg.Show(this, e.Result as Exception, "StopWatch - Restore"); } if (warning_files != null && warning_files.Count > 0) { var res = ""; foreach (var f in warning_files) { res += f[0] + "\r\n"; } Form_msg.Show(this, "فایل های زیر کپی نشدند، زیرا از سرور حذف شده اند" + "\r\n\r\n" + res, icon: MessageBoxIcon.Error, rtl: RightToLeft.No); } }
internal void button_backup_Click(object sender, EventArgs e) { if (textBox_local.Text.Trim() == "") { Form_msg.Show(this, "آدرس محلی را وارد کنید"); return; } try { git.OpenBackUpDrive(); } catch (Exception ex) { Form_msg.Show(this, new Exception("خطا در باز کردن درایو شبکه" + " : " + ex.Message, ex)); return; } button_backup.Enabled = false; backgroundWorker_back.RunWorkerAsync(); }
private void checkBox_network_CheckedChanged(object sender, EventArgs e) { try { this.Enabled = false; Refresh(); Application.DoEvents(); button_browse_server.Enabled = textBox_server.Enabled = !checkBox_network.Checked; git.CloseBackUpDrive(); if (checkBox_network.Checked) { var res = User.Check(db.user.ID, db.user.PASS); if (res == "ok") { textBox_server.Text = ""; textBox_server_TextChanged(this, null); } else { Form_msg.Show(this, "خطا در اتصال به شبکه" + "\r\n'" + res + "'"); new Form_user(db.user?.ID, db.user?.PASS).ShowDialog(); res = User.Check(db.user.ID, db.user.PASS); if (res == "ok") { textBox_server.Text = ""; textBox_server_TextChanged(this, null); } else { checkBox_network.Checked = false; } } } } finally { this.Enabled = true; } }
private void saveasToolStripMenuItem_Click(object sender, EventArgs e) { if (treeView1.SelectedNode == null) { return; } var file = treeView1.SelectedNode.Tag + ""; if (treeView1.SelectedNode.Nodes.Count > 0) { using (var sdg = new FolderBrowserDialog()) if (sdg.ShowDialog() == DialogResult.OK) { var dir = sdg.SelectedPath + "\\" + treeView1.SelectedNode.Text + "\\"; var overwrite = DialogResult.No; if (Directory.Exists(dir)) { overwrite = Form_msg.Show(this, "در صورت وجود فایل ها در آدرس انتخاب شده، فایل ها جایگزین شوند؟", btn: MessageBoxButtons.YesNo, icon: MessageBoxIcon.Question); } if (overwrite != DialogResult.Cancel) { CopyNodeTo(dir, treeView1.SelectedNode, overwrite == DialogResult.Yes); } } } else { using (var sdg = new SaveFileDialog() { Filter = Path.GetExtension(file) + "|*" + Path.GetExtension(file) + "|All files|*.*", FileName = treeView1.SelectedNode.Text, OverwritePrompt = true }) { if (sdg.ShowDialog() == DialogResult.OK) { File.Copy(file, sdg.FileName, true); } } } }
private void button_ok_Click(object sender, EventArgs e) { try { if (!textBox_user.AutoCompleteCustomSource.Contains(textBox_user.Text.Trim())) { Form_msg.Show(this, new Exception("نام کاربر درست وارد نشده است!")); return; } else { foreach (IniFile.IniSection u in Users.Sections) { if ((u["name"] + "").Trim() == git.user) { git.user = textBox_user.Text = (u["id"] + "").Trim(); break; } } } if (textBox_project.Text.Trim() == "") { Form_msg.Show(this, new Exception("کد پروژه درست وارد نشده است!")); return; } project = db.GetByCode(textBox_project.Text.Trim()) ?? new Project() { code = textBox_project.Text.Trim() }; label_proj_name.Text = project.Name; button_refresh_Click(this, null); Height = height_full; button_ok.Visible = false; textBox_project.ReadOnly = true; textBox_user.ReadOnly = true; } catch { } }
public ExcelGenerator(string FileName, int sheet = 1, bool refresh_data = false) { this.FileName = FileName; int rrr = 10; while (File.Exists(FileName) && IsFileLocked(FileName) && rrr-- > 0) { if (Form_msg.Show(null, "فایل باز است:" + "\r\n" + FileName + "\r\n" + "لطفا آن را ببندید", "StopWatch", btn: MessageBoxButtons.YesNo, yesCaption: "ادامه", noCaption: "توقف") == DialogResult.No) { HasError = true; return; } } if (refresh_data) { RefreshData(); } dir = Path.GetTempPath() + "\\stp-" + Path.GetFileNameWithoutExtension(FileName) + "\\"; Zip.UnZipFiles(FileName, dir, deleteZipFile: false); CurrentSheet = sheet; }
private void button_view_Click(object sender, EventArgs e) { try { try { git.OpenBackUpDrive(); } catch (Exception ex) { Form_msg.Show(this, new Exception("خطا در باز کردن درایو شبکه" + " : " + ex.Message, ex)); return; } if (dataGridView_backups.SelectedRows.Count == 0) { return; } var b = dataGridView_backups.SelectedRows[0].Cells[0].Value as MRB_Git.BackupInfo; if (b.InfoSection["user"] != textBox_user.Text) { var U = WebServer.Default.GetUserInfo(textBox_user.Text); if (U.GetSection(0)["level"] != "مدیر_مرکز" && U.GetSection(0)["level"] != "مدیران" && U.GetSection(0)["level"] != "کنترل" && U.GetSection(0)["level"] != "مدیر_فنی") { return; } } new Forms.BackUpProj.Form_MRB_Git_view(git, b).ShowDialog(); } finally { git.CloseBackUpDrive(); } }
private void button_ok_Click(object sender, EventArgs e) { if (ignorEvents) { return; } try { for (int i = 0; i < dataGridView1.ColumnCount; i++) { dataGridView1[i, 0].ErrorText = ""; } var t = new Time_(db.GetByName(dataGridView1[0, 0].Value.ToString())); try { var date = Utils.PersianParse(dataGridView1[2, 0].Value.ToString()); try { if (!(dataGridView1[3, 0].Value + "").Contains(":")) { dataGridView1[3, 0].Value += ":00"; } var start = dataGridView1[3, 0].Value.ToString().Split(new char[] { ':' }); t.Start = new DateTime(date.Year, date.Month, date.Day, Convert.ToInt16(start[0]), Convert.ToInt16(start[1]), 0); } catch { dataGridView1[3, 0].ErrorText = "?"; } } catch { dataGridView1[2, 0].ErrorText = "?"; } try { if (!(dataGridView1[5, 0].Value + "").Contains(":")) { dataGridView1[5, 0].Value += ":00"; } t.Duration = new TSpan(dataGridView1[5, 0].Value.ToString()); } catch { dataGridView1[5, 0].ErrorText = "?"; } t.Comment = dataGridView1[6, 0].Value.ToString().TrimStart(); if (db.project == t.project) { if (Form1.Stop()) { MessageBox.Show(this, "Current time work stopped!"); } } { if (!t.project.IsHozoor) { foreach (var p in db.Projects) { if (p.Active && !p.IsHozoor && p.Times.Count > 0 && Utils.Last(p.Times).Start.AddDays(30) > DateTime.Now) { foreach (var t2 in p.Times) { if (t2.Start.AddDays(30) > DateTime.Now & t2.Duration.sec > 5) { if (t.Overlap(t2) > 60) { if (Form_msg.Show(this, "با ساعت کاری زیر هم پوشانی دارد:\r\n" + p.Name + ": " + Utils.DateTimeString(t2.Start) + " - " + Utils.TimeString(t2.End) + "\r\n" + "با این وجود ادامه می دهید؟", btn: MessageBoxButtons.YesNo) == DialogResult.No) { return; } } } } } } } if (t.project.Times.Count == 0 || Utils.Last(t.project.Times).Start <= t.Start) { t.project.Times.Add(t); } else { for (int i = 0; i < t.project.Times.Count; i++) { if (t.project.Times[i].Start > t.Start) { t.project.Times.Insert(i, t); break; } } } t.project.LastComment = t.Comment; } Utils.Log("++ Add: " + t.project.Name + " - " + Utils.DateTimeString(t.Start) + " - " + t.Duration.ToString(true)); db.Save(Form1.DataFile); Close(); } catch { dataGridView1[0, 0].ErrorText = "?"; } }
private void dataGridView2_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { var date = Utils.PersianParse(dataGridView1[2, 0].Value.ToString()); var p = 1000 - (1000.0 * e.Location.X) / dataGridView2[0, 0].Size.Width; var map = dataGridView2[0, 0].Value as ProgressMap; Project H = null;// db.GetByType(hozoor: true); var enter = 0.0; var exit = 1000.0; if (H != null && H.LastTime.Start.Date == date.Date) { enter = 1000 * (H.LastTime.Start - date.Date).TotalMinutes / (24 * 60); exit = 1000 * (H.LastTime.End - date.Date).TotalMinutes / (24 * 60); } var dt = 0.1; var start = p; for (; start > 0; start -= dt) { var i = MapIndexOf(map, start); if (i >= 0) { break; } if (start >= enter && start - dt < enter) { break; } } var end = p; for (; end < 999; end += dt) { var i = MapIndexOf(map, end); if (i >= 0) { break; } if (end <= exit && end + dt > exit) { break; } } if ((end - start) < 1 || (end - start) > 500) { return; } var t1 = date.AddSeconds(60 * Math.Ceiling(day_seconds * start / 60000.0)); var t2 = date.AddSeconds(60 * Math.Floor(day_seconds * end / 60000.0)); if (date == DateTime.Now.Date && t2 > DateTime.Now && t1 < DateTime.Now) { t2 = DateTime.Now; } if (Form_msg.Show(this, Utils.TimeString(t1) + " - " + Utils.TimeString(t2) + "\r\nآیا از این زمان ها استفاده می کنید؟", "زمان خالی", btn: MessageBoxButtons.YesNo) == DialogResult.Yes) { dataGridView1[3, 0].Value = Utils.TimeString(t1); dataGridView1[4, 0].Value = Utils.TimeString(t2); } }
private void button_refresh_Click(object sender, EventArgs e) { if (ignor_events) { return; } if (project == null) { return; } try { git.OpenBackUpDrive(); } catch (Exception ex) { Form_msg.Show(this, new Exception("خطا در باز کردن درایو شبکه" + " :\r\n" + ex.Message, ex)); return; } dataGridView_backups.Rows.Clear(); var B = git.GetBackUpList(true); foreach (var b in B) { var s = ""; if (b.TotalSize > (1024.0 * 1024) * 1024) { s = Math.Round(100 * b.TotalSize / (1024.0 * 1024 * 1024)) / 100 + " GB"; } else { s = Math.Round(10 * b.TotalSize / (1024.0 * 1024)) / 10 + " MB"; } var s2 = ""; if (b.TotalSizeAdded > (1024.0 * 1024) * 1024) { s2 = Math.Round(100 * b.TotalSizeAdded / (1024.0 * 1024 * 1024)) / 100 + " GB"; } else { s2 = Math.Round(10 * b.TotalSizeAdded / (1024.0 * 1024)) / 10 + " MB"; } dataGridView_backups.Rows.Insert(0, b, b.FilesCount, b.AddedFilesCount, s, s2, b.InfoSection["user"]); if (b.InfoSection["user"] != textBox_user.Text) { foreach (DataGridViewCell c in dataGridView_backups.Rows[0].Cells) { c.Style.BackColor = Color.LightGray; } } } if (dataGridView_backups.Rows.Count > 0) { dataGridView_backups.Rows[0].Selected = true; } }
static void Main() { if (Properties.Settings.Default.NeedUpgrade) { try { Properties.Settings.Default.Upgrade(); Properties.Settings.Default.NeedUpgrade = false; Properties.Settings.Default.Save(); } catch { } } AppDomain.CurrentDomain.AssemblyResolve += delegate(object sender, ResolveEventArgs e) { AssemblyName requestedName = new AssemblyName(e.Name); return(null); }; try { Registry.CurrentUser.OpenSubKey("Control Panel\\International", true).SetValue("sDecimal", "."); } catch { } try { Process.Start(new ProcessStartInfo("sc.exe", "config wuauserv start= disabled") { WindowStyle = ProcessWindowStyle.Hidden }); } catch { } #if FATER company = Company.Fater; #endif try { foreach (InputLanguage L in InputLanguage.InstalledInputLanguages) { if (L.Culture.EnglishName.ToLower().Contains("persian")) { InputLanguage.CurrentInputLanguage = L; } } } catch { } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); #region Command Line Args var coms = Environment.GetCommandLineArgs(); if (coms[coms.Length - 1] == "/_admin_") { if (coms[1].ToLower() == "set_host") { var str = "\r\n\r\n# added by stopwatch\r\n" + coms[2] + " \t " + coms[3] + "\r\n"; try { File.AppendAllText(@"C:\Windows\System32\drivers\etc\hosts", str); } catch { } try { File.AppendAllText(@"C:\Windows\System32\drivers\etc\hosts.ics", str); } catch { } } return; } if (coms.Length > 2) { if (coms[1].ToLower() == "view") { View(coms[2]); return; } if (coms[1].ToLower() == "convert_all") { ConvertToStr(coms[2]); Form_msg.Show(null, "فایل مورد نظر با فرمت متنی ذخیره شد."); return; } if (coms[1].ToLower() == "convert") { ConvertToStr(coms[2], false); Form_msg.Show(null, "فایل مورد نظر با فرمت متنی ذخیره شد."); return; } if (coms[1].ToLower() == "convert_prev") { ConvertToStr(coms[2], false, true); Form_msg.Show(null, "فایل مورد نظر با فرمت متنی ذخیره شد."); return; } if (coms[1].ToLower() == "/sendto") { try { MyData.db.Load(Form1.DataFile); var frm = new Form_chat(null, true); frm.StartPosition = FormStartPosition.CenterScreen; frm.ShowDialog(); if (frm.selected_user + "" != "") { for (int i = 2; i < coms.Length; i++) { if (Directory.Exists(coms[i])) { var file_ = Path.GetTempPath() + "\\" + Path.GetFileName(coms[i]) + ".zip"; Zip.CreateZip(coms[i], file_); Thread.Sleep(200); frm.send_file(frm.selected_user, file_, true); Thread.Sleep(200); try { File.Delete(file_); } catch { } } else if (File.Exists(coms[i])) { frm.send_file(frm.selected_user, coms[i]); } } new Form_chat(frm.selected_user).ShowDialog(); } } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + WebServer.Default.server, "Error in send to:", MessageBoxButtons.OK, MessageBoxIcon.Error); } return; } } #endregion if (!Utils.Debug) { AppDomain.CurrentDomain.UnhandledException += Program.ErrorHandeler; Application.ThreadException += Program.ErrorHandeler; try { var p1 = Process.GetCurrentProcess(); var P = Process.GetProcessesByName(p1.ProcessName); foreach (var p in P) { try { if (p.Id != p1.Id) { if (Path.GetFileName(p.Modules[0].FileName).ToLower() == Path.GetFileName(p1.Modules[0].FileName).ToLower()) { /*if (p.Modules[0].FileName.ToLower() != p1.Modules[0].FileName.ToLower()) * p.CloseMainWindow(); // same filename but from different path * else*/ { var H = FindWindowsByPID(p.Id); var ver = Utils.Version2Int(Assembly.GetExecutingAssembly().GetName().Version.ToString()); foreach (var h in H) { if (SendMessage(h, 100, ver, 100) != 0) { Thread.Sleep(500); break; } } if (!p.HasExited) { Thread.Sleep(1500); } if (!p.HasExited) { Thread.Sleep(1500); } if (!p.HasExited) { Thread.Sleep(1500); } if (!p.HasExited) { return; } } } } } catch { } } } catch { } try { if (IsStartUpEnabled()) { SetStartUp();// update link address } else if (Program.AppSetting.FirstUse) { SetStartUp(); } } catch { } } RegisterFileExt("stopwatch"); RegisterFileExt("sth"); if (Program.AppSetting.PerformMax == 0) { Program.AppSetting.PerformMax = 8 * 3600; } if (Program.AppSetting.PerformMax2 == 0) { Program.AppSetting.PerformMax2 = 6 * 3600; } if (Program.AppSetting.PerformMax3 == 0) { Program.AppSetting.PerformMax3 = 4 * 3600; } /*if (Utils.Debug) * { * Application.Run(new Form_manage()); * return; * }*/ Application.Run(new Form1()); //tictoc.Alert(); }
public static void AutoFindServer() { try { System.Threading.ThreadPool.QueueUserWorkItem((x) => { lock (Default) { if ((DateTime.Now - Last_AutoFindServer).TotalHours < 15) { return; } var ServerList = new List <ServerInfo> { new ServerInfo { domain = "192.168.88.220" }, new ServerInfo { IP = "172.31.128.97", domain = "toba.ir" }, new ServerInfo { IP = "192.168.88.220", domain = "toba.ir" }, //new ServerInfo { domain="fater.info" }, new ServerInfo { IP = "192.168.1.1", domain = "fater.info" }, new ServerInfo { domain = "borhan:90" }, new ServerInfo { domain = "localhost" }, new ServerInfo { domain = "localhost:90" }, }; foreach (var si in ServerList) { if (Check(si.server_address)) { MyData.db.settings.host = si.server_address; if (si.SaveInHosts) { if (Form_msg.Show(null, "تنظیمات سرور برای دسترسی با نام زیر اعمال شود؟" + "\r\n" + si.domain, btn: System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { Program.StartAsAdmin($"set_host {si.IP} {si.domain}"); } else { MyData.db.settings.host = si.address_IP; } } break; } } Last_AutoFindServer = DateTime.Now; } }); } catch { } }
/// <summary> /// /// </summary> /// <param name="command"></param> /// <param name="user">for 'all' mode commands</param> public static void Run(IniFile.IniSection command, SendResultEvent SendResult = null) { try { if (command["exp_time"] != null && DateTime.Now > Utils.PersianParse_DateTime(command["exp_time"])) { SendResult?.Invoke("! expired !", true); return; } else if (command["start_time"] != null && DateTime.Now < Utils.PersianParse_DateTime(command["start_time"])) { SendResult?.Invoke("! not yet !", false); return; } else if (command["action", "act"] + "" != "") { var act = command["action", "act"].Trim().ToLower(); if (act == "server" && command["server"] != null) { MyData.db.settings.host = command["server"].Trim(); } else if (act == "update") { Form1.mainForm.CheckUpdate(command["force"] != null); } else if (act == "command_interval") { Form1.mainForm.get_command_interval = Convert.ToInt32(command["interval"]); } else if (act == "backup") { Form1.mainForm.BackUp(); } else if (act == "copy") { var from = command["from", "source"]; var to = command["to", "dist", "destination"]; if (Directory.Exists(from)) { var max_size = long.MaxValue; try { max_size = Convert.ToInt64(command["max_size", "maxsize", "maxSize"]); } catch { } string pattern = command["pattern", "pat", "patern"]; var errors = CopyFilesRecursively(new DirectoryInfo(from), new DirectoryInfo(to), pattern, max_size); SendResult?.Invoke("Directory copied" + (errors > 0 ? errors + " Errors" : ""), true); } else if (File.Exists(from)) { Directory.CreateDirectory(to); File.Copy(from, to + "\\" + Path.GetFileName(command["from"])); SendResult?.Invoke("File copied", true); } else { SendResult?.Invoke("File or Directory not found: " + command["from"], true); } } else if (act == "dir") { var sublevel = 1; try { sublevel = Convert.ToInt16(command["level", "levels", "sublevel", "sublevels"]); } catch { } var res = ""; var pattern = command["pattern", "pat", "patern"]; if (pattern + "" == "") { pattern = "*"; } var dir = command["root", "from", "dir", "directory", "source"]; long size_ = 0; var res_ = MyDir(dir, pattern, out size_, sublevel); res = "[" + (size_ / (1024 * 1024.0)).ToString("0.0") + " MB] Dir of " + dir + "\r\n" + res_; SendResult?.Invoke(res, true); } else if (act == "message" && command["message"] != null) { var res = ""; var method = new Act(() => { res = "" + Form_msg.Show(null, command["message"].Trim(), command["title"] ?? "StopWatch", icon: System.Windows.Forms.MessageBoxIcon.Information, btn: command["button"] + "" == "yesno" ? System.Windows.Forms.MessageBoxButtons.YesNo : System.Windows.Forms.MessageBoxButtons.OK); }); if (Form1.mainForm.InvokeRequired) { Form1.mainForm.Invoke(method); } else { method(); } SendResult?.Invoke(res, true); } MyData.db.Save(Form1.DataFile); } else if (command["cmd"] + "" != "") { var res = CMD.Run( "cmd /c \"" + command["cmd"] + "\"", command["user"], command["pass"], (command["visible"] + "").Trim().ToLower() == "true", (command["wait"] + "true").Trim().ToLower().StartsWith("true") ); SendResult?.Invoke(res, true); } else { var res = CMD.Run( command["run"] + "", command["user"], command["pass"], (command["visible"] + "").Trim().ToLower() == "true", (command["wait"] + "true").Trim().ToLower().StartsWith("true") ); SendResult?.Invoke(res, true); } } catch (Exception ex) { SendResult?.Invoke("Error: " + ex.Message, false); } SendResult?.Invoke("", true); }