Ejemplo n.º 1
0
        private RegSearchArgs GetSearchArgs(RegistryKey[] keys)
        {
            RegSearchLookAt lookAt     = GetSearchTarget();
            RegSearchArgs   searchArgs = new RegSearchArgs(keys, txtPattern.Text, chkMatchCase.Checked, lookAt, chkUseRegex.Checked);

            return(searchArgs);
        }
Ejemplo n.º 2
0
        private void btnFind_Click(object sender, EventArgs e)
        {
            if (btnFind.Text == "F&ind")
            {
                RegistryKey[] keys;

                if (cmbSearch.Text == "All Hives")
                {
                    keys = new RegistryKey[cmbSearch.Items.Count];
                    for (int i = 0; i < cmbSearch.Items.Count; i++)
                    {
                        keys[i] = RegUtility.ParseRootKey(cmbSearch.Items[i].ToString());
                    }
                }
                else
                {
                    keys = new RegistryKey[] { RegUtility.ParseRootKey(cmbSearch.Text) }
                };

                if (txtBranch.Text != String.Empty)
                {
                    keys[0] = keys[0].OpenSubKey(txtBranch.Text);
                    if (keys[0] == null)
                    {
                        UIUtility.DisplayError(this, Properties.Resources.Error_InvalidKey, txtBranch);
                        return;
                    }
                }

                RegSearchArgs searchArgs = GetSearchArgs(keys);
                StartSearch();
                try
                {
                    searcher.Start(searchArgs);
                }
                catch (ArgumentException ex)
                {
                    toolStripStatusLabel1.Text = "Ready.";
                    UIUtility.DisplayError(this, ex.Message, txtPattern);
                    EnableSearch();
                    return;
                }
                searchStarted = true;
            }
            else
            {
                btnFind.Enabled = false;
                searcher.Stop();
            }
        }
Ejemplo n.º 3
0
        public void Start(RegSearchArgs args)
        {
            searchArgs = args;
            if (args.UseRegEx)
            {
                comparer = new RegistryExplorer.Comparers.RegexComparer(args.Pattern, !args.MatchCase);
            }
            else
            {
                comparer = new RegistryExplorer.Comparers.StringComparer(args.Pattern, !args.MatchCase);
            }

            matches = new System.Collections.Generic.List <RegSearchMatch>();
            worker.RunWorkerAsync();
        }