Exemple #1
0
        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 { }
        }
Exemple #2
0
        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);
        }