[PR #421] [MERGED] Implementation of a Registry Editor #1137

Closed
opened 2026-02-27 15:53:14 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/quasar/Quasar/pull/421
Author: @LjungErik
Created: 2/9/2016
Status: Merged
Merged: 2/9/2016
Merged by: @MaxXor

Base: masterHead: master


📝 Commits (10+)

  • 2519c88 Update README.md
  • e850d34 Added Form support for the Registry Editor
  • a5c797b Added ServerPackets for handling Registry Editor requests.
  • 99dd3b1 Fixed problem with incomplete Client/Client.csproj
  • 3481a58 Added support for acquiring the root keys of the Registry.
  • c159293 Added support for retrieving subkeys when nodes are expanded
  • d1e8edc Allowed the data in the Registry values to be shown in the ListView.
  • 8648b3e Added new packets to support Create, Delete and Rename actions of the RegistryKey
  • 24723a0 Added a context menu for Create, Delete and Rename functionality
  • 8276dc4 Added functionality for performing Create, Delete and Rename on the RegistryKey's.

📊 Changes

81 files changed (+10953 additions, -119 deletions)

View changed files

📝 Client/Client.csproj (+23 -0)
📝 Client/Core/Commands/CommandHandler.cs (+2 -0)
Client/Core/Commands/RegistryHandler.cs (+212 -0)
📝 Client/Core/Extensions/RegistryKeyExtensions.cs (+344 -0)
📝 Client/Core/Networking/QuasarClient.cs (+16 -0)
Client/Core/Packets/ClientPackets/GetChangeRegistryValueResponse.cs (+26 -0)
Client/Core/Packets/ClientPackets/GetCreateRegistryKeyResponse.cs (+26 -0)
Client/Core/Packets/ClientPackets/GetCreateRegistryValueResponse.cs (+26 -0)
Client/Core/Packets/ClientPackets/GetDeleteRegistryKeyResponse.cs (+25 -0)
Client/Core/Packets/ClientPackets/GetDeleteRegistryValueResponse.cs (+25 -0)
Client/Core/Packets/ClientPackets/GetRegistryKeysResponse.cs (+35 -0)
Client/Core/Packets/ClientPackets/GetRenameRegistryKeyResponse.cs (+26 -0)
Client/Core/Packets/ClientPackets/GetRenameRegistryValueResponse.cs (+26 -0)
📝 Client/Core/Packets/PacketHandler.cs (+32 -0)
Client/Core/Packets/ServerPackets/DoChangeRegistryValue.cs (+26 -0)
Client/Core/Packets/ServerPackets/DoCreateRegistryKey.cs (+24 -0)
Client/Core/Packets/ServerPackets/DoCreateRegistryValue.cs (+27 -0)
Client/Core/Packets/ServerPackets/DoDeleteRegistryKey.cs (+26 -0)
Client/Core/Packets/ServerPackets/DoDeleteRegistryValue.cs (+26 -0)
Client/Core/Packets/ServerPackets/DoLoadRegistryKey.cs (+24 -0)

...and 61 more files

📄 Description

Registry Editor - Implementation (#108)

This is a implementation for a Registry Editor that allows manipulation and browsing of the clients registry keys and values. Based on issue: #108

Features within this pull request

  1. Browsing of the registry keys in a TreeView structure
  2. Modifying registry keys
    • Creating new registry keys
    • Deleting existing registry keys
    • Renaming registry keys
  3. Browsing of the registry value in a ListView structure
  4. Modifying registry values
    • Creating new registry values like:
      • String
      • Binary
      • DWORD
      • QWORD
      • Multi-String
      • Expandable String
    • Deleting existing registry values
    • Renaming registry values
    • Performing modification to the registry values
    • Performing binary modification to the registry values
  5. Seperate Forms for modifying the different types of registry values:
    • String/Expandable String - FrmRegValueEditString
    • Binary - FrmRegValueEditBinary
    • DWORD/QWORD - FrmRegValueEditWord
    • Multi-String - FrmRegValueEditMultiString
  6. Images for representing the two different types of registry values (personally created png-files)

Known features that have not been implemented

  1. Support for handling both 64-bit and 32-bit registry hives. (Currently only works against the same registry hive as the application itself, in my case 64-bit)
  2. Find functionality that allows the registry keys to be searched.
  3. Refresh functionality for refreshing the registry keys.
  4. Proper handling of default registry values (Default). For example the ability to add default values to a registry key.
  5. Supporting the handling of permissions for the registry keys.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/quasar/Quasar/pull/421 **Author:** [@LjungErik](https://github.com/LjungErik) **Created:** 2/9/2016 **Status:** ✅ Merged **Merged:** 2/9/2016 **Merged by:** [@MaxXor](https://github.com/MaxXor) **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (10+) - [`2519c88`](https://github.com/quasar/Quasar/commit/2519c883e2f0f4b9cb6c2ef25e62d39a66064708) Update README.md - [`e850d34`](https://github.com/quasar/Quasar/commit/e850d3402332d31896a9967524e5fc6b4ce9662e) Added Form support for the Registry Editor - [`a5c797b`](https://github.com/quasar/Quasar/commit/a5c797b417ebcf63467cec3afe8b8c55e2931a9b) Added ServerPackets for handling Registry Editor requests. - [`99dd3b1`](https://github.com/quasar/Quasar/commit/99dd3b1ebb09805b3845ec1cf52a548ed36c4ef2) Fixed problem with incomplete Client/Client.csproj - [`3481a58`](https://github.com/quasar/Quasar/commit/3481a58afa7b7d1c554f9a87d3625f734b39dca7) Added support for acquiring the root keys of the Registry. - [`c159293`](https://github.com/quasar/Quasar/commit/c15929371d296e4a28caa18025be360ee23f8549) Added support for retrieving subkeys when nodes are expanded - [`d1e8edc`](https://github.com/quasar/Quasar/commit/d1e8edc56d4493450a85fab23327f1d20af194fb) Allowed the data in the Registry values to be shown in the ListView. - [`8648b3e`](https://github.com/quasar/Quasar/commit/8648b3ee1a752979a4ed098a49091fec779f8e62) Added new packets to support Create, Delete and Rename actions of the RegistryKey - [`24723a0`](https://github.com/quasar/Quasar/commit/24723a00dacf77473e23547e4fe2ce1ebe7659b0) Added a context menu for Create, Delete and Rename functionality - [`8276dc4`](https://github.com/quasar/Quasar/commit/8276dc479f1f009fdd29b05d0d4f427864eee021) Added functionality for performing Create, Delete and Rename on the RegistryKey's. ### 📊 Changes **81 files changed** (+10953 additions, -119 deletions) <details> <summary>View changed files</summary> 📝 `Client/Client.csproj` (+23 -0) 📝 `Client/Core/Commands/CommandHandler.cs` (+2 -0) ➕ `Client/Core/Commands/RegistryHandler.cs` (+212 -0) 📝 `Client/Core/Extensions/RegistryKeyExtensions.cs` (+344 -0) 📝 `Client/Core/Networking/QuasarClient.cs` (+16 -0) ➕ `Client/Core/Packets/ClientPackets/GetChangeRegistryValueResponse.cs` (+26 -0) ➕ `Client/Core/Packets/ClientPackets/GetCreateRegistryKeyResponse.cs` (+26 -0) ➕ `Client/Core/Packets/ClientPackets/GetCreateRegistryValueResponse.cs` (+26 -0) ➕ `Client/Core/Packets/ClientPackets/GetDeleteRegistryKeyResponse.cs` (+25 -0) ➕ `Client/Core/Packets/ClientPackets/GetDeleteRegistryValueResponse.cs` (+25 -0) ➕ `Client/Core/Packets/ClientPackets/GetRegistryKeysResponse.cs` (+35 -0) ➕ `Client/Core/Packets/ClientPackets/GetRenameRegistryKeyResponse.cs` (+26 -0) ➕ `Client/Core/Packets/ClientPackets/GetRenameRegistryValueResponse.cs` (+26 -0) 📝 `Client/Core/Packets/PacketHandler.cs` (+32 -0) ➕ `Client/Core/Packets/ServerPackets/DoChangeRegistryValue.cs` (+26 -0) ➕ `Client/Core/Packets/ServerPackets/DoCreateRegistryKey.cs` (+24 -0) ➕ `Client/Core/Packets/ServerPackets/DoCreateRegistryValue.cs` (+27 -0) ➕ `Client/Core/Packets/ServerPackets/DoDeleteRegistryKey.cs` (+26 -0) ➕ `Client/Core/Packets/ServerPackets/DoDeleteRegistryValue.cs` (+26 -0) ➕ `Client/Core/Packets/ServerPackets/DoLoadRegistryKey.cs` (+24 -0) _...and 61 more files_ </details> ### 📄 Description # Registry Editor - Implementation (#108) This is a implementation for a Registry Editor that allows manipulation and browsing of the clients registry keys and values. Based on issue: #108 ## Features within this pull request 1. Browsing of the registry keys in a `TreeView` structure 2. Modifying registry keys - Creating new registry keys - Deleting existing registry keys - Renaming registry keys 3. Browsing of the registry value in a `ListView` structure 4. Modifying registry values - Creating new registry values like: - _String_ - _Binary_ - _DWORD_ - _QWORD_ - _Multi-String_ - _Expandable String_ - Deleting existing registry values - Renaming registry values - Performing modification to the registry values - Performing binary modification to the registry values 5. Seperate `Forms` for modifying the different types of registry values: - String/Expandable String - `FrmRegValueEditString` - Binary - `FrmRegValueEditBinary` - DWORD/QWORD - `FrmRegValueEditWord` - Multi-String - `FrmRegValueEditMultiString` 6. Images for representing the two different types of registry values (personally created png-files) ## Known features that have not been implemented 1. Support for handling both 64-bit and 32-bit registry hives. (Currently only works against the same registry hive as the application itself, in my case 64-bit) 2. Find functionality that allows the registry keys to be searched. 3. Refresh functionality for refreshing the registry keys. 4. Proper handling of default registry values `(Default)`. For example the ability to add default values to a registry key. 5. Supporting the handling of permissions for the registry keys. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 15:53:14 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Quasar#1137
No description provided.