Example #1
0
        private void chkContextMenuMoveTo_CheckedChanged(object sender, EventArgs e)
        {
            string parent = @"HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers";

            if (chkContextMenuMoveTo.Checked)
            {
                RegistryKey key = RegistryManager.CreateKey(parent, "MoveTo");
                RegistryManager.EditValue(key.Name, "", new RegistryValue()
                {
                    Name      = "",
                    Value     = "{C2FBB631-2971-11D1-A18C-00C04FD75D13}",
                    ValueKind = RegistryValueKind.String
                });
            }
            else
            {
                RegistryManager.DeleteKey(parent, "MoveTo");
            }
        }
Example #2
0
 private void chkFastStartMenu_CheckedChanged(object sender, EventArgs e)
 {
     if (chkFastStartMenu.Checked)
     {
         RegistryManager.EditValue("HKEY_CURRENT_USER\\CONTROL PANEL\\DESKTOP", "MenuShowDelay", new RegistryValue()
         {
             Name      = "MenuShowDelay",
             ValueKind = RegistryValueKind.String,
             Value     = "1"
         });
     }
     else
     {
         RegistryManager.EditValue("HKEY_CURRENT_USER\\CONTROL PANEL\\DESKTOP", "MenuShowDelay", new RegistryValue()
         {
             Name      = "MenuShowDelay",
             ValueKind = RegistryValueKind.String,
             Value     = "400"
         });
     }
 }
Example #3
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            string name  = txtName.Text.Trim();
            string type  = cmbValueKind.Text.Trim();
            string value = txtValue.Text.Trim();

            if (RegistryManager.GetKeyValues(_key).Any(item => item.Name == name))
            {
                MessageBox.Show("این نام استفاده شده است.", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (name.Length == 0 || type.Length == 0 || value.Length == 0)
            {
                MessageBox.Show("لطفا مقادیر را وارد نمایید", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            RegistryValueKind valueKind;

            if (!Enum.TryParse(type, out valueKind))
            {
                MessageBox.Show("نوع داده وارده صحیح نیست.", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            object val = null;

            switch (valueKind)
            {
            case RegistryValueKind.String:
            case RegistryValueKind.ExpandString:
            {
                val = value;
            }
            break;

            case RegistryValueKind.Binary:
            {
                char[] bytesList = value.ToCharArray();
                foreach (char item in bytesList)
                {
                    if ((int)item > byte.MaxValue)
                    {
                        MessageBox.Show("مقدار وارده صحیح نیست.", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                }
                byte[] bytes = bytesList.Select(b => (byte)b).ToArray();
                val = bytes;
            }
            break;

            case RegistryValueKind.DWord:
            {
                UInt32 v = 0;
                if (!UInt32.TryParse(value, out v))
                {
                    MessageBox.Show("مقدار وارده صحیح نیست.", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                val = v;
            }
            break;

            case RegistryValueKind.MultiString:
            {
                val = value.Replace(';', '\0');
            }
            break;

            case RegistryValueKind.QWord:
            {
                UInt64 v = 0;
                if (!UInt64.TryParse(value, out v))
                {
                    MessageBox.Show("مقدار وارده صحیح نیست.", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                val = v;
            }
            break;
            }
            RegistryManager.EditValue(_key, _valueName, new RegistryValue
            {
                Name      = name,
                ValueKind = valueKind,
                Value     = val
            });
            MessageBox.Show("مقدار ویرایش شد.", "ویرایش مقدار", MessageBoxButtons.OK, MessageBoxIcon.Information);
            DialogResult = DialogResult.OK;
        }