| |
|
|
- Seite 1 - |
|
Torsten Rümker | Hi,
Folgendes ist mein Problem: Ich habe mehrere Programme erstellt, die sich in der Registry unter HKEY_Current_UserSoftware einen Haupteintrag teilen. Also: HKEY_Current_UserSoftwareTRSoftwareProgramm1 HKEY_Current_UserSoftwareTRSoftwareProgramm2 usw.
Wenn ich jetzt ein Programm deinstalliere soll es natürlich seine Spuren aus der Registry mit entfernen. Nur, wie prüfen ich sicher ab, das noch ein weiterer Schlüssel unter TRSoftware vorhanden ist, damit ich den Eintrag nur Lösche wenn es auch wirklich möglich/nötig ist?
Ich habe schon verschiedenes ausprobiert (z.b. ein Eintrag in dem vermerkt ist wie viele Programme Einträge haben) aber ich habe noch nichts hinbekommen, was sicher funktioniert.
Für jeden Hinweis dankbar Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 30.09.2006 ▲ |
|
|
|
|
| |
|
- Seite 1 - |
|
Michael Wodrich | Hab 2 Erweiterungen vorgenommen: KompilierenMarkierenSeparieren!
Tvinsert 0,"HKEY_CLASSES_ROOT",$0010
@Sendmessage(Treeview&,$1100,0,Tv_insert#)
Tvinsert 0,"HKEY_CURRENT_USER",$0010
@Sendmessage(Treeview&,$1100,0,Tv_insert#)
Tvinsert 0,"HKEY_LOCAL_MACHINE",$0010
@Sendmessage(Treeview&,$1100,0,Tv_insert#)
Tvinsert 0,"HKEY_USERS",$0010
@Sendmessage(Treeview&,$1100,0,Tv_insert#)
und KompilierenMarkierenSeparieren!
If Reg_root$="HKEY_USERS"
Let Reg_error&=@Regopenkeyex($80000003,@Addr(Reg_key$),0,$20019,@Addr(Reg_handle&))
Elseif Reg_root$="HKEY_CURRENT_USER"
Let Reg_error&=@Regopenkeyex($80000001,@Addr(Reg_key$),0,$20019,@Addr(Reg_handle&))
Elseif Reg_root$="HKEY_CLASSES_ROOT"
Let Reg_error&=@Regopenkeyex($80000000,@Addr(Reg_key$),0,$20019,@Addr(Reg_handle&))
Elseif Reg_root$="HKEY_LOCAL_MACHINE"
Let Reg_error&=@Regopenkeyex($80000002,@Addr(Reg_key$),0,$20019,@Addr(Reg_handle&))
Else
Let Reg_error&=2
Endif
Kann ich im Moment gut gebrauchen, danke.
Bei Classes_Root kanns ein Weilchen dauern. Bei mir zählt er über 8000 Unterschlüssel.
schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 30.09.2006 ▲ |
|
|
|
|
| Ob man die braucht, ist Ansichtssache... |
|
|
| |
|
|
|
Torsten Rümker | Jau, damit müßte es gehen.
Sogar sehr einfach, über die Anzahl der Unterschlüssel. Wenn Anzahl Unterschlüssel = 0 dann wech mit TRSoftware
Danke dir.
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 30.09.2006 ▲ |
|
|
|
|
Michael Wodrich | Mir war der local_user wichtig, da dort unter software die meisten programme verewigt sind. |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 30.09.2006 ▲ |
|
|
|
|
| Bin MInimalist - ist unter HKEY_USERS mit dem String SID des jeweiligen Users auslesbar... |
|
|
| |
|
|
|
Torsten Rümker | So hab jetzt keine Geduld mehr. APIs find ich echt anstrengend. Ich mach für heute schluß und fahre meine Schwester besuchen.
Morgen denk ich noch mal drüber nach wie ich das für mich umgemodelt bekomme
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 30.09.2006 ▲ |
|
|
|
|
Torsten Rümker | [quote:418f29a759=Andreas Hötker]Bin MInimalist - ist unter HKEY_USERS mit dem String SID des jeweiligen Users auslesbar...[/quote:418f29a759] Ähöm, für einen Minimalisten schreibst du aber ganz schön aufwändige Beispielcodes
Aber mal im Ernst.
Könntest du mir mal ein Minimal-Beispiel erstellen, mit dem ich die Ausgabe deines Quellcodes für einen bestimmten Schlüssel (welcher ist mir egal) bekomme? Ehrlich gesagt raucht mir der Kopf, da ich a) Was APIs angeht irgendwie begriffsstutzig bin und b) Da ich es noch nie wirklich für irgendwas gebrauchen konnte ich auch so meine Probleme mit dem Treeview habe
Ok, das sind ehrlich gesagt nicht wirklich die besten Gründe, aber ich geh lieber Schritt für Schritt vor wenn ich was neues lerne. Also erstmal das was ich akut gebrauchen könnte und später dann die Extras
Wäre echt nett
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 30.09.2006 ▲ |
|
|
|
|
Jörg Sellmeyer | Hast Du Prfellow? Da gibts in den Vorlagen schöne Beispiele von Uwe Pascal Niemeyer. Du kannst es Dir von [...] herunterladen. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 01.10.2006 ▲ |
|
|
|
| |
|
- Seite 2 - |
|
|
| So OK: KompilierenMarkierenSeparierenKonstanten festlegen
Def &HKEY_CLASSES_ROOT $80000000
Def &HKEY_CURRENT_USER $80000001
Def &HKEY_LOCAL_MACHINE $80000002
DEF &HKEY_USERS $80000003
APIs deklarieren
Def @Regopenkeyex(5) !"ADVAPI32","RegOpenKeyExA" Schlüssel öffnen
Def @Regqueryinfokey(12) !"ADVAPI32","RegQueryInfoKeyA"
Def @Regclosekey(1) !"ADVAPI32","RegCloseKey" Schlüssel schließen
Declare Subkeys&,Key$,Handle&
Declare Fehler&
LET KEY$="SoftwareMicrosoftWindowsCurrentVersion" diesen Schlüssel öffnen
Let Fehler&=@Regopenkeyex(&HKEY_CURRENT_USER,@ADDR(KEY$),0,$1,@ADDR(HANDLE&)) Schlüssel öffnen und Handle holen
Let Fehler&=@Regqueryinfokey(Handle&,0,0,0,@Addr(Subkeys&),0,0,0,0,0,0,0) ... den Rest benötigst du nicht => kann also 0 sein...
@Regclosekey(Handle&) Schlüssel schließen
Addstring "Anzahl der Unterschlüssel="+@Str$(Subkeys&)
@Editbox("Rückgaben",1)
|
|
|
| |
|
|
|
Torsten Rümker | Ok, ich glaube du hast mein unverständnis halbwegs beseitigt, RegQueryInfoKey wird also mit den ganzen variablen nicht unbedingt etwas übergeben, sondern es landen auch Ergebnisse drin. Also z.B. in Subkeys&. Der Weg war mir neu, und erklärt einige Codesnipsel die ich bisher nicht verstanden habe.
Also, danke für die Kurzversion, die erklärt mir so einiges!
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 05.10.2006 ▲ |
|
|
|
|
| [quote:66cb0b93ad=Torsten Rümker]Ok, ich glaube du hast mein unverständnis halbwegs beseitigt, RegQueryInfoKey wird also mit den ganzen variablen nicht unbedingt etwas übergeben, sondern es landen auch Ergebnisse drin. Also z.B. in Subkeys&. [/quote:66cb0b93ad] Das ist bei vielen APIs so. |
|
|
| |
|
|
|
Torsten Rümker | [quote:10c8e47fce=Andreas Hötker]Das ist bei vielen APIs so.[/quote:10c8e47fce] Jep hab ich jetzt verstanden, aber daran erkennt man mal wieder das es zum Verständnis eines Problemes wichtig ist sozusagen aus der richtigen Richtung zu denken.
Naja, deswegen ja meine Signatur
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 06.10.2006 ▲ |
|
|
|