Example #1
0
 private void btnSave_Click(object sender, RoutedEventArgs e)
 {
     Data.PEPath = Data.PEPath.Trim();
     if (string.IsNullOrEmpty(Data.PEPath)) return;
     IFEOItem Item = new IFEOItem
     {
         ManageByThis = Data.ManageByThis,
         Debugger = Data.ManageByThis ? $@""" { Global.IFEOExecution } """ : Data.DebuggerPath,
         PEName = Data.PEPath,
         Remark = Data.Remark,
         RunMethod = Data.RunMethod
     };
     IFEO.Save(Item);
     InitializeData(); // Refresh it
 }
Example #2
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            Data.PEPath = Data.PEPath.Trim();
            if (Data.PEPath == "") return;
            IFEOItem Item = new IFEOItem();

            Item.ManageByThis = Data.ManageByThis;
            if (Data.ManageByThis)
            {
                Item.Debugger = "\"" + Global.IFEOExecution + "\"";
            } else
            {
                Item.Debugger = Data.DebuggerPath;
            }

            Item.PEName = Data.PEPath;
            Item.Remark = Data.Remark;
            Item.RunMethod = Data.RunMethod;
            IFEO.Save(Item);
            InitializeData(); // Refresh it
        }
Example #3
0
        /// <summary>
        /// Save IFEO Item to Registry
        /// </summary>
        /// <param name="Item">The item.</param>
        /// <returns>
        /// true
        /// </returns>
        public bool Save(IFEOItem Item)
        {
            Log.WriteLine("Start Saving Key");
            IFEOKey = Registry.LocalMachine.OpenSubKey(Global.IFEORegPath, true);
            try
            {
                Item.RegKey = IFEOKey.CreateSubKey(Item.PEName);
                Log.WriteLine("Create Sub Key(" + Item.PEName + ") Successfully.");
            }
            catch (Exception Ex)
            {
                Log.WriteLine("Error when creating Sub Key(" + Item.PEName + "): " + Ex.ToString());
                Log.MessageBoxError((string)Application.Current.FindResource("cfmOpenSubKeyError") + "\n" + Item.PEName + "\n\n" + Ex.ToString());
                return false;
            }

            try
            {
                if (Item.Debugger == "")
                {
                    Item.RegKey.DeleteValue("Debugger");
                }
                else
                {
                    Item.RegKey.SetValue("Debugger", Item.Debugger);
                }
            }

            catch (Exception Ex)
            {
                Log.WriteLine("Error when creating Debugger: " + Ex.ToString());
                Log.MessageBoxError((string)Application.Current.FindResource("cfmCreateDebuggerError") + "\n" + Item.PEName + "\n\n" + Ex.ToString());
                return false;
            }

            Item.RegKey.SetValue("IFEOManage_Path", Global.IFEORunPath);
            Item.RegKey.SetValue("IFEOManage_Remark", Item.Remark);
            Item.RegKey.SetValue("IFEOManage_Manage", Item.ManageByThis);
            Item.RegKey.SetValue("IFEOManage_RunMethod", Item.RunMethod);
            Item.RegKey.Close();
            Log.WriteLine("Saved key: " + Item.ToString());
            Load();
            return true;
        }
Example #4
0
        private void _FormatDebuggerStringAndUpdate(IFEOItem Debugger)
        {
            if (Debugger.ManageByThis)
            {
                // Auto Update
                if (Debugger.Debugger != Global.IFEOExecution)
                {
                    Log.WriteLine("Refresh Debugger(" + Debugger.PEName + ") From (" + Debugger.Debugger + ") To (" + Global.IFEOExecution + ")");
                    Debugger.RegKey.SetValue("Debugger", Global.IFEOExecution);
                    Debugger.RegKey.SetValue("IFEOManage_Path", Global.IFEORunPath);
                }
                Debugger.ManageByThis = true;
                Debugger.Debugger = (string)Application.Current.FindResource("cfmManagedByThis");

            }
        }
Example #5
0
        /// <summary>
        /// Loads IFEO items
        /// </summary>
        /// <returns>The state of load</returns>
        public bool Load()
        {
            Log.WriteLine("Load registry");
            IFEOKey = Registry.LocalMachine.OpenSubKey(Global.IFEORegPath, true);
            IFEOItem TempIFEO;
            if (IFEOKey != null)
            {
                Items.Clear();
                foreach (string keyName in IFEOKey.GetSubKeyNames())
                {
                    RegistryKey SubKey = IFEOKey.OpenSubKey(keyName, true);
                    if (SubKey != null)
                    {
                        if (SubKey.GetValueNames().ToList().ConvertAll(d => d.ToLower()).IndexOf("debugger") > -1)
                        {
                            TempIFEO = new IFEOItem();
                            TempIFEO.ManageByThis = ((string)GetValue(SubKey, "IFEOManage_Manage") == "True");
                            TempIFEO.RegKey = SubKey;
                            TempIFEO.IFEOPath = (string)GetValue(SubKey, "IFEOManage_Path");
                            TempIFEO.PEName = SubKey.Name.Split('\\').Last();
                            TempIFEO.Debugger = SubKey.GetValue("Debugger").ToString();
                            TempIFEO.Remark = (string)GetValue(SubKey, "IFEOManage_Remark");

                            string RunMethodString = (string)GetValue(SubKey, "IFEOManage_RunMethod");
                            if (RunMethodString != "")
                            {
                                TempIFEO.RunMethod = (RunMethod)Enum.Parse(TempIFEO.RunMethod.GetType(), RunMethodString);
                            }

                            _FormatDebuggerStringAndUpdate(TempIFEO);
                            Items.Add(TempIFEO);
                            Log.WriteLine("Load " + keyName + " successfully: " + TempIFEO.ToString());
                        }
                        else
                        {
                            //Log.WriteLine(keyName + " is not a vaild key.");
                        }

                    }
                    else
                    {
                        Log.WriteLine("Error when loading Sub Key(" + keyName + ")");
                        Log.MessageBoxError((string)Application.Current.FindResource("cfmOpenSubKeyError") + "\n" + keyName);
                    }
                }
            }
            else
            {
                Log.WriteLine("Cannot open registry");
                Log.MessageBoxError((string)Application.Current.FindResource("cfmCannotOpenRegistry"));
                return false;
            }
            return true;
        }