public void Load() { _checkTimer.Interval = AppManager.Instance.Settings.Config.CheckProcessesInterval; _processConfiguration.Clear(); var r = new Regex(@"<Application[\s]*(?<" + TagType + ">.*?)>(?<" + TagName + ">.*?)</Application>", RegexOptions.IgnoreCase | RegexOptions.Multiline); foreach (Match match in r.Matches( File.ReadAllText(ResourceManager.Instance.WatchedProcessesFile.LocalPath, Encoding.Default))) { var name = match.Groups[TagName].Value; var processConfiguration = new ExternalProcessConfiguration(); processConfiguration.Name = name.ToLower(); var type = match.Groups[TagType].Value.ToLower(); if (!String.IsNullOrEmpty(type)) { if (type.StartsWith(TagType + "=")) { switch (type.Split(new[] { '=' }, 2)[1].Replace("\"", "")) { case "1": case "active": processConfiguration.Behaviour = ExternalProcessBehaviour.HideIfIsActive; break; case "2": case "maximized": processConfiguration.Behaviour = ExternalProcessBehaviour.HideIfIsActiveAndMaximized; break; case "3": case "notontop": processConfiguration.Behaviour = ExternalProcessBehaviour.SetNotOnTopIfIsActive; break; case "4": case "running": processConfiguration.Behaviour = ExternalProcessBehaviour.HideIfProcessIsRunning; break; case "5": case "titlebar": processConfiguration.Behaviour = ExternalProcessBehaviour.HideIfTitlebarMatches; processConfiguration.Name = name; // Fix case break; } } } _processConfiguration.Add(processConfiguration); } }
public void Load() { _checkTimer.Interval = AppManager.Instance.Settings.Config.CheckProcessesInterval; _processConfiguration.Clear(); var r = new Regex(@"<Application[\s]*(?<" + TagType + ">.*?)>(?<" + TagName + ">.*?)</Application>", RegexOptions.IgnoreCase | RegexOptions.Multiline); foreach (Match match in r.Matches( File.ReadAllText(ResourceManager.Instance.WatchedProcessesFile.LocalPath, Encoding.Default))) { var name = match.Groups[TagName].Value; var processConfiguration = new ExternalProcessConfiguration(); processConfiguration.Name = name.ToLower(); var type = match.Groups[TagType].Value.ToLower(); if (!String.IsNullOrEmpty(type)) { if (type.StartsWith(TagType + "=")) { switch (type.Split(new[] { '=' }, 2)[1].Replace("\"", "")) { case "1": case "active": processConfiguration.Behaviour = ExternalProcessBehaviour.HideIfIsActive; break; case "2": case "maximized": processConfiguration.Behaviour = ExternalProcessBehaviour.HideIfIsActiveAndMaximized; break; case "3": case "notontop": processConfiguration.Behaviour = ExternalProcessBehaviour.SetNotOnTopIfIsActive; break; case "4": case "running": processConfiguration.Behaviour = ExternalProcessBehaviour.HideIfProcessIsRunning; break; case "5": case "titlebar": processConfiguration.Behaviour = ExternalProcessBehaviour.HideIfTitlebarMatches; processConfiguration.Name = name; // Fix case break; } } } _processConfiguration.Add(processConfiguration); } }