private void error(string msg, Application.Settings.OpMode opMode, Application.Settings.ErrorReporting opModeRunErrorReporting) { if ((opMode == Settings.OpMode.gui) || (opModeRunErrorReporting == Settings.ErrorReporting.MsgBox)) { Forms.MessageBox.Error(msg); } }
public Job Get(int id, Application.Settings.OpMode opMode, Application.Settings.ErrorReporting opModeRunErrorReporting) { Job[] jobs = Get(opMode, opModeRunErrorReporting); foreach (Job j in jobs) { if (j.ID == id) return j; } #warning TODO multi language or better a custm exception and text in the form throw new Exception("Job not found"); }
public Job[] Get(Application.Settings.OpMode opMode, Application.Settings.ErrorReporting opModeRunErrorReporting) { string[] sectionNames = this.GetSectionNames(); int[] sectionNamesInt = this.GetSectionNamesInt(); List<Job> jobs = new List<Job>(0); for (int i = 0; i < sectionNamesInt.Length; ++i) { if (sectionNamesInt[i] < Job.IDstart) this.error(Properties.Strings.nsApplication_JobsFile_Get_ErrorInvalidSection + " \"" + sectionNames[i] + "\"", opMode, opModeRunErrorReporting); else { try { Job job = new Job(); job.ID = sectionNamesInt[i]; string[] tmp; job.ProcessName = iniFile.Get(sectionNames[i], Key_ProcessName, true, Default_ProcessName); job.Enabled = Convert.ToBoolean(iniFile.Get(sectionNames[i], Key_Enabled, true, Default_Enabled)); tmp = iniFile.Get(sectionNames[i], Key_Position, true, Default_Position).Split(';'); job.Position = new System.Drawing.Point(System.Convert.ToInt32(tmp[0]), System.Convert.ToInt32(tmp[1])); tmp = iniFile.Get(sectionNames[i], Key_Size, true, Default_Size).Split(';'); job.Size = new System.Drawing.Size(System.Convert.ToInt32(tmp[0]), System.Convert.ToInt32(tmp[1])); job.ZPosition = Middleware.Util.Misc.ParseEnum<Job.WindowZPosition>(iniFile.Get(sectionNames[i], Key_WindowZPosition, true, Default_WindowZPosition)); job.NoSize = Convert.ToBoolean(iniFile.Get(sectionNames[i], Key_NoSize, true, Default_NoSize)); job.NoMove = Convert.ToBoolean(iniFile.Get(sectionNames[i], Key_NoMove, true, Default_NoMove)); job.NoZOrder = Convert.ToBoolean(iniFile.Get(sectionNames[i], Key_NoZOrder, true, Default_NoZOrder)); jobs.Add(job); } catch { this.error(Properties.Strings.nsApplication_JobsFile_Get_ErrorParse + " \"" + sectionNames[i] + "\"", opMode, opModeRunErrorReporting); } } } return jobs.ToArray(); }
public static void Run(Job[] jobs, Application.Settings.OpMode opMode, Application.Settings.ErrorReporting opModeRunErrorReporting, IntPtr thisAppHwnd) { try { System.Diagnostics.Process[] procList = System.Diagnostics.Process.GetProcesses(); List<string> notFoundProcesses = new List<string>(0); for (int i = 0; i < jobs.Length; ++i) { if (jobs[i].Enabled && (jobs[i].ID >= 0)) { int procIndex = -1; for (int pi = 0; pi < procList.Length; ++pi) { if (jobs[i].ProcessName == procList[pi].ProcessName) { procIndex = pi; pi = procList.Length; } } if (procIndex == -1) { notFoundProcesses.Add(jobs[i].ProcessName); } else { int insertAfter; int flags = 0; switch (jobs[i].ZPosition) { case WindowZPosition.TopMost: insertAfter = HWND_TOPMOST; break; case WindowZPosition.Top: insertAfter = HWND_TOP; break; case WindowZPosition.Bottom: insertAfter = HWND_BOTTOM; break; case WindowZPosition.NoTopMost: default: insertAfter = HWND_NOTOPMOST; break; } if (jobs[i].NoSize) flags |= SWP_NOSIZE; if (jobs[i].NoMove) flags |= SWP_NOMOVE; if (jobs[i].NoZOrder) flags |= SWP_NOZORDER; SetWindowPos( procList[procIndex].MainWindowHandle, insertAfter, jobs[i].Position.X, jobs[i].Position.Y, jobs[i].Size.Width, jobs[i].Size.Height, flags); } } } if (notFoundProcesses.Count > 0) { string tmpStr = String.Empty; for (int i = 0; i < notFoundProcesses.Count; ++i) tmpStr += "\n" + notFoundProcesses[i]; warning(Properties.Strings.nsApplication_Job_Run_Warning_ProcNotFound + tmpStr, opMode, opModeRunErrorReporting); } if ((opMode == Settings.OpMode.gui) && (thisAppHwnd != IntPtr.Zero)) SetWindowPos(thisAppHwnd, HWND_TOP, -1, -1, -1, -1, SWP_NOSIZE | SWP_NOMOVE); } catch (Exception ex) { Forms.MessageBox.Error(Properties.Strings.gFatalError + "\n" + ex.Message); } }
public static void Run(Job[] jobs, Application.Settings.OpMode opMode, Application.Settings.ErrorReporting opModeRunErrorReporting) { Run(jobs, opMode, opModeRunErrorReporting, IntPtr.Zero); }
public static void Set(Application.Settings.ErrorReporting value, bool preventSaveFile) { IniFile.Set(SectionName, KeyName, value.ToString(), preventSaveFile, true); }
public static void Set(Application.Settings.ErrorReporting value) { Set(value, false); }