| Autor |
Beitrag |
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 08.06.09 15:29
Hallo!
// EDIT: Das entsprechende Open Source Projekt ist jetzt hier zu finden:
www.delphi-forum.de/viewtopic.php?p=567719
Ich entwerfe gerade einen neuen besseren Registryeditor. Und da wollte ich mal fragen ob ihr da vielleicht noch Einfälle / Wünsche / Überlegungen dazu habt basierend auf dem Standard-Regedit oder anderen Tools.
Meine Überlegungen: - Separater Adminmodus für Vista, Start also als normaler Nutzer möglich
- Verlinkung innerhalb der Werte, also z.B. von .txt auf den Schlüssel txtfile. Oder von GUIDs auf deren Definition. Oder auf Dateien und Verzeichnisse. Und so weiter.
- Schnell, erste Tests waren sehr viel schneller als Regedit.
- Automatische Codegenerierung zum Auslesen oder Eintragen von Werten für verschiedene Sprachen.
Und jetzt seid ihr dran: Fällt euch noch mehr ein? Fehlt euch etwas bei Regedit?
Im Moment arbeite ich noch an anderen Projekten und lasse die Planung nebenher anlaufen um das Projekt reifen zu lassen, es sind also noch ein paar Tage Zeit.
Schönen Gruß,
Sebastian
Moderiert von Narses: Topic aus Off Topic verschoben am So 14.06.2009 um 23:16
Zuletzt bearbeitet von jaenicke am Fr 19.06.09 06:46, insgesamt 1-mal bearbeitet
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Mo 08.06.09 15:43
Hallo,
interessantes Projekt.
Ich fände eine verbesserte Suchfunktion hilfreich (RegExp, Case-Sensitive Ja/Nein usw.), nach Möglichkeit natürlich schneller als im „Original“.
|
|
jaenicke 
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 08.06.09 15:53
Die Suche an sich werde ich vielleicht schneller hinbekommen, aber das wird sicher wieder langsamer, wenn ich solche Sachen mit einbaue. Da muss ich schauen was ich in angemessener Zeit hinbekomme, aber das wäre sicher interessant.
Dazu baue ich dann noch ein, dass man bestimmte Zweige ausschließen kann, das beschleunigt die Suche ja auch nochmal.
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mo 08.06.09 16:11
eine säuberungsfunktion vielleicht, die die registry von unnötigen einträgen befreit.
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
InCoBra
      
Beiträge: 43
|
Verfasst: Mo 08.06.09 16:13
Ich fände es auch cool, wenn man zu einem Schlüssel, den man als String hat navigieren kann (so er denn besteht). Am besten wäre ja, soweit realisierbar (technisch ist es das auf ja jeden Fall, ich meine jetzt eher resourcentechnisch und so  ) eine Eingabe wie die Adressezeile im Windows (XP) Explorer. Also mit Autovervollständigung wäre schon nett
- "Adress"-Eingabezeile
- Import/Export-Funktion
|
|
jaenicke 
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 08.06.09 16:15
elundril hat folgendes geschrieben : | | eine säuberungsfunktion vielleicht, die die registry von unnötigen einträgen befreit. |
Das ist ja nicht so einfach, und dass man dabei auch schnell was völlig falsches löscht, zeigen ja nahezu 100% der entsprechenden Cleanertools, die es derzeit gibt...
InCoBra hat folgendes geschrieben : | Am besten wäre ja, soweit realisierbar (technisch ist es das auf ja jeden Fall, ich meine jetzt eher resourcentechnisch und so ) eine Eingabe wie die Adressezeile im Windows (XP) Explorer. Also mit Autovervollständigung wäre schon nett  |
Ach ja, das hatte ich vergessen, ja, das ist auf jeden Fall dabei. Das habe ich schon bei einem anderen Editor gesehen und werde es auch einbauen.
Inkl. Favoritenfunktion usw., zudem überlege ich eine Art Onlinewiki anzulegen, wo Benutzer Erklärungen zu Zweigen und Einträgen aufschreiben können.
|
|
Horschdware
      
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: Mo 08.06.09 16:15
Bookmarks!
_________________ Delphi: XE - OS: Windows 7 Professional x64
|
|
Ralf Jansen
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: Mo 08.06.09 16:16
Regedit kann ja bereits ein oder mehrere Remote Registries öffnen.
Was ich gerne hätte wäre das man die Hives der geöffneten Registries vergleichen und gegebenfalls synchronisieren könnte.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 08.06.09 16:16
Kurze Liste, was mir sofort einfällt. Erhebt keinen Anspruch auf Vollständigkeit  :
- SearchAll\ReplaceAll (gern mit Regexp  )
- GUID\CLSID\IID-Linking (Infos über die Keys, Welches Programm, ist das Teil gültig, ..)
- Structural\Semantical Browsing*
- Bookmarks häufig genutzter Keys
- Shell-Like-Interface zum switchen zwischen Keys, Werte ändern,
- Keys\Values verschieben
- Gute Hilfe
- Wert-Vervollständigung (z.B. bei nem Service, dass ich den Starttyp aus ner Liste auswählen kann)
- Hive-Editing (Lesen\Bearbeiten von Hive-Files, die grad nicht in der Registry hängen). Sprich um z.B. einen Teilzweig als eigenständiges Hive-File exportieren zu können.
* Semantical Browsing könnte so aussehen, dass ich z.B. eine Struktur hab, wo drin steht, WAS ich betrachten will (z.B. Hardware-Konfigs) und mir der Reg-Editor dann die vorhandenen Hardware-Strukturen in eine übersichtliche Form packt. Oder ich in den Autostart-Abschnitt gehe und dort die entsprechenden Einträge aufbereitet bekomme (Wo definiert, Welches Programm, Genaue Kommandozeile,) und ich dort dann managen kann. Sprich insgesamt dass man die semantischen Informationen, die der Registry zugrunde liegen hernehmen kann und dort eine Oberfläche bekommt, wo man diese gleich überschauen kann.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: Mo 08.06.09 16:20
|
|
jaenicke 
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 08.06.09 16:24
Ralf Jansen hat folgendes geschrieben : | Regedit kann ja bereits ein oder mehrere Remote Registries öffnen.
Was ich gerne hätte wäre das man die Hives der geöffneten Registries vergleichen und gegebenfalls synchronisieren könnte. |
Da muss ich mal schauen wie das geht.
Aber eine diff-Funktion z.B. wäre eine Überlegung wert, allerdings auch relativ aufwendig. Zuerst kommt auf jeden Fall die lokale Registry dran, aber der Hinweis ist gut, ich werde versuchen darauf zu achten, dass ich das so schreibe, dass man es auch leicht auf eine externe Registry anwenden kann.
BenBE hat folgendes geschrieben : | | - GUID\CLSID\IID-Linking (Infos über die Keys, Welches Programm, ist das Teil gültig, ..) |
Genau das war meine ursprüngliche Überlegung. Wobei ich bei den Sachen mir die Struktur auch erstmal genauer anschauen muss um selbst zu wissen was da alles möglich ist.
BenBE hat folgendes geschrieben : | | - Structural\Semantical Browsing* |
Da wäre vielleicht eine Art Pluginsystem eine Idee, so dass man da einfach verschiedene Ansichten für spezielle Zweige einklinken kann.
BenBE hat folgendes geschrieben : | | - Shell-Like-Interface zum switchen zwischen Keys, Werte ändern |
Da dachte ich z.B. u.a. an Tabs um gleichzeitig mehrere offen haben zu können.
BenBE hat folgendes geschrieben : | | - Keys\Values verschieben |
Stimmt, daran hatte ich noch nicht gedacht.
Vor allem auch importieren einer Registrydatei an eine andere Stelle, wenn ich das sinnvoll hinbekomme. Aber da bin ich nicht so sicher. Das größte Problem ist ja vor allem, dass das alles sehr stabil sein muss. Schließlich ist die Registry ja sehr wichtig...
BenBE hat folgendes geschrieben : | - Gute Hilfe  |
Bessere Idee: Intuitive Bedienung, damit man keine braucht.
BenBE hat folgendes geschrieben : | | - Wert-Vervollständigung (z.B. bei nem Service, dass ich den Starttyp aus ner Liste auswählen kann) |
Inwieweit sowas da sinnvoll ist muss ich schauen. Bei Dateinamen oder Ordnern ist sicher neben einer Verlinkung auch ein OpenDialog sinnvoll.
Andreas L. hat folgendes geschrieben : | | Du kannst ja, wie bei anderer Software üblich, die obengenannten Features als Optionen anbieten. So bleibt die Standard-Suche schneller als die von regedit, bietest die anderen Funktionen als etwas langsamere Experten-Suche aber trotzdem an. |
Das ist sowieso klar. Wenn, dann baue ich das als mehrere Klassen ein, die dann in die Suche eingeklinkt werden.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 08.06.09 16:38
jaenicke hat folgendes geschrieben : | BenBE hat folgendes geschrieben : | | - GUID\CLSID\IID-Linking (Infos über die Keys, Welches Programm, ist das Teil gültig, ..) | Genau das war meine ursprüngliche Überlegung. Wobei ich bei den Sachen mir die Struktur auch erstmal genauer anschauen muss um selbst zu wissen was da alles möglich ist. |
Ggf. hier ein Plugin-System bauen, wo man das mit dem Lookup ergänzen kann. Da könnt ich ggf. helfen bzgl. der Lookups.
jaenicke hat folgendes geschrieben : | BenBE hat folgendes geschrieben : | | - Structural\Semantical Browsing* | Da wäre vielleicht eine Art Pluginsystem eine Idee, so dass man da einfach verschiedene Ansichten für spezielle Zweige einklinken kann. |
Da könnte ich von XSetup ggf. die Plugin-Files zur Verfügung stellen, da sind eine Reihe allgemeiner Settings drin; da hätte man eine gute Basis, um das in einer eigenen Struktur zu organisieren und zu sehen, worauf man achten müsste. Xteq Xsetup war bis Version 6 ein absolut geniales Tool (danach aber leider nur noch kommerziell weiterentwickelt).
jaenicke hat folgendes geschrieben : | BenBE hat folgendes geschrieben : | | - Shell-Like-Interface zum switchen zwischen Keys, Werte ändern | Da dachte ich z.B. u.a. an Tabs um gleichzeitig mehrere offen haben zu können. |
Meinte das eher bash-like, so dass ich z.B. hingehen kann und "RegSH-Scripts bauen kann, die zum Automatisieren bestimmter Aufgaben genutzt werden können.
jaenicke hat folgendes geschrieben : | BenBE hat folgendes geschrieben : | | - Keys\Values verschieben | Stimmt, daran hatte ich noch nicht gedacht. |
Siehst'de  Das hab ich mich schon öfters bei M$ geärgert, dass das nicht geht.
jaenicke hat folgendes geschrieben : | | Vor allem auch importieren einer Registrydatei an eine andere Stelle, wenn ich das sinnvoll hinbekomme. Aber da bin ich nicht so sicher. Das größte Problem ist ja vor allem, dass das alles sehr stabil sein muss. Schließlich ist die Registry ja sehr wichtig... |
.reg-Files sind recht einfach zu parsen; muss man dann halt nur "rebasen" bei den Pfaden ...
jaenicke hat folgendes geschrieben : | BenBE hat folgendes geschrieben : | - Gute Hilfe  | Bessere Idee: Intuitive Bedienung, damit man keine braucht.  |
Dann kannst Du aber nicht RTFM sagen  Überleg's Dir gut!!!
jaenicke hat folgendes geschrieben : | BenBE hat folgendes geschrieben : | | - Wert-Vervollständigung (z.B. bei nem Service, dass ich den Starttyp aus ner Liste auswählen kann) | Inwieweit sowas da sinnvoll ist muss ich schauen. Bei Dateinamen oder Ordnern ist sicher neben einer Verlinkung auch ein OpenDialog sinnvoll. |
Auch hier könnte ein Plugin-System durchaus helfen, um den verschiedenen Keys semantische Informationen zu ergänzen.
Bzw. ein Listen-Editor für REG_SZ_MULTI oder bei REG_SZ-Werten wie bei Delphi, wo die Packages aufgezählt werden.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
jaenicke 
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 08.06.09 17:02
Ja, das ist ja schon eine Menge, ich muss mir mal überlegen wie das sinnvoll zusammenpasst. Sowohl auf der Oberfläche als auch im Programm.
Danke schonmal für die Anregungen, ich werde das mal versuchen übersichtlich zusammenzubringen. 
|
|
jakobwenzel
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Mo 08.06.09 18:04
.reg-Datei-Import der nicht per Registry verboten werden kann.
Das ist echt ne Qual nachträglich portabel gemachte Programme die ihre Einstellungen in der Registry haben wollen zu benutzen wenn das deaktiviert is...
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Mo 08.06.09 22:24
Überwachen von Registryänderungen durch andere Programme wäre auch noch praktisch.
|
|
Popov
      
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Mo 08.06.09 22:36
Eine Säuberungsfunktion würde ich nicht nicht einbauen. Erstens gibt es solche Tools in Massen, also wozu Zeit für etwas opfern was man auch mit einem anderen Toll erledigen kann. Aber wo wir bei Säuberungsfunktion sind, ein Pfad Überpfüfunsfunktion könnte man schon einbauen. Damit meine ich, daß man auf ein Schlüssel wählt und alle Pfade innerhalb des Schlüssels auf Vorhandensein prüft.
Aber was ich bei der normalen Regedit vermisse ist, eine Reg-Dat aus dem Backup zu öffnen, also nicht die gerade benutzte, sondern auch eine externe. Das wäre auch für Admins interessant, denn dann könnten sie die Reg-Dateien anderer Konten öffnen.
_________________ Popov
|
|
Narses
      

Beiträge: 10184
Erhaltene Danke: 1259
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 08.06.09 22:42
Moin!
Popov hat folgendes geschrieben : | | Aber was ich bei der normalen Regedit vermisse ist, eine Reg-Dat aus dem Backup zu öffnen, also nicht die gerade benutzte, sondern auch eine externe. |
Das wäre allerdings mal was, da kenne ich bisher auch nur Gurkentools...
Popov hat folgendes geschrieben : | | Das wäre auch für Admins interessant, denn dann könnten sie die Reg-Dateien anderer Konten öffnen. |
Das können sie doch sowieso?  Einfach unter HKU\<SID>\...
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 08.06.09 22:49
Spannend wäre auch, eine .REG-Datei direkt editieren zu können, als ob das ein Hive wäre.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
jaenicke 
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 09.06.09 01:12
Also eine .reg Datei direkt zu editieren wäre sicher möglich. Ich muss das so aufbauen, dass die Datenquelle virtualisiert ist, dann kann das auch anderswo als aus der Registry kommen.
Die Registrydatei selbst: Ja, also ich brauchte sowas auch schonmal. Das Format ist nur nicht so ganz einfach, ich glaube nicht, dass das so einfach wird, das auszulesen. Zumal offiziell die Spezifikation wohl nicht herausgegeben wurde.
Vor allem weiß ich nicht wie effizient ich das hinbekomme, also wieviel Geduld man dann braucht.
// EDIT:
Also mit der Geschwidigkeit klappt das irgendwie noch nicht richtig, ich hab gerade mal ein bisschen mehr getestet. Im Moment bin ich da langsamer als regedit.
// EDIT2:
Ok, jetzt hab ichs. Jetzt gibts keine spürbaren Verzögerungen mehr, selbst HKEY_CLASSES_ROOT (mit bei mir mehr als 10.000 Schlüsseln) ist sofort offen. 
|
|
jaenicke 
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 09.06.09 10:26
Ich hänge mal eine Testversion an, der Button funktioniert noch nicht. Es werden nur die Schlüssel, Wertnamen und Wertetypen, bei REG_SZ Werten auch die Werte selber angezeigt, mehr nicht.
Jedenfalls weiß ich jetzt schon, dass ich auch für den normalen Zugriff auf die lokale Registry mit TRegistry nicht weiterkommen werde. Das ist vor allem schlicht zu langsam. In dem Testprogramm habe ich es auch nicht benutzt.
Das Programm startet sofort, klappt auch die Schlüssel sofort aus, lädt aber die Schlüssel und ob Unterschlüssel existieren erst bei der Anzeige (also beim Scrollen). Das scheint so selbst bei schnellem Scrollen recht gut zu klappen.
Da werde ich noch die Synchronisierung im Auge behalten müssen bei Änderungen an den Inhalten während der Anzeige, aber jedenfalls klappt es soweit wie ich es mir dachte. Und damit bin ich auch bei: nagel hat folgendes geschrieben : | | Überwachen von Registryänderungen durch andere Programme wäre auch noch praktisch. |
Das werde ich natürlich machen. Dafür gibt es auch entsprechende Notifier.
// EDIT:
Angang entfernt, da neuere Testversion vorhanden.
Zuletzt bearbeitet von jaenicke am Do 11.06.09 20:01, insgesamt 1-mal bearbeitet
|
|
|