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"); } }
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" }); } }
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; }