public void TryDeleteValue(TcpSocketSaeaSession session) { var delValue = session.CompletedBuffer.GetMessageEntity <RegDeleteValuePack>(); try { RegistryKey registryKey = GetRegistryRoot(delValue.Root); // SAM\123 "123" registryKey .OpenSubKey(delValue.NodePath, true) .DeleteValue(delValue.ValueName); registryKey.Close(); registryKey = GetRegistryRoot(delValue.Root).OpenSubKey(delValue.NodePath); var values = new List <RegValueItem>(); foreach (var item in registryKey.GetValueNames()) { var valueItem = new RegValueItem() { ValueName = item }; try { valueItem.Value = registryKey.GetValue(item).ToString(); } catch { valueItem.Value = ""; } values.Add(valueItem); } SendAsyncToServer(MessageHead.C_REG_VALUENAMES, new RegValuesPack() { Values = values.ToArray() }); } catch { } }
public void TryOpenSubkeys(TcpSocketSaeaSession session) { var key = session.CompletedBuffer.GetMessageEntity <RegOpenSubKeyPack>(); string root = key.Root; string path = key.NodePath; var subKeys = new RegSubKeyValuePack(); try { RegistryKey registryKey = GetRegistryRoot(root).OpenSubKey(path); var values = new List <RegValueItem>(); foreach (var item in registryKey.GetValueNames()) { var valueItem = new RegValueItem() { ValueName = item }; try { valueItem.Value = registryKey.GetValue(item).ToString(); } catch { valueItem.Value = ""; } values.Add(valueItem); } subKeys.SubKeyNames = registryKey.GetSubKeyNames(); subKeys.Values = values.ToArray(); registryKey.Close(); } catch { } SendAsyncToServer(MessageHead.C_REG_SUBKEYNAMES, subKeys); }