RegDelete
-
Hi,
ich habe ein problem und braeuchte etwas Hilfe und zwar wuerde ich gerne einen RegKey loeschen. Bis dahin ja noch alles klarRegDeleteKey(HKEY_CLASSES_ROOT, "NamedesKeys");
So nur ist das Problem das der Key noch Unterschluessel hat wodurch ich diesen so mit diesem befehl nicht loeschen kann und alle Value einzeln zu loeschen waehre zu viel Arbeit zudem der Key ja auch .Key heisst, wodurch er immer einen Fehler angiebt beim Compilen. Hoffe einer von euch hat da eine Idee.
MfG
Coda
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
To delete keys recursively, use the RegDeleteTree or SHDeleteKey function.
-
flenders schrieb:
To delete keys recursively, use the RegDeleteTree or SHDeleteKey function.
Da tauch auch wider das Problem mit dem . auf.
Bsp:
#include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]) { LONG RegDeleteTree( HKEY HKEY_CLASSES_ROOT, LPCTSTR .bin ); system("PAUSE"); return EXIT_SUCCESS; }
11 C:\Dev-Cpp\test.cpp expected primary-expression before '.' token
12 C:\Dev-Cpp\test.cpp initializer expression list treated as compound expressionMfg
Coda
-
Du solltest dir mal anschauen, wie man Strings übergibt...
Versuch es mal statt LPCTSTR .bin mit TEXT(".bin")
-
flenders schrieb:
Du solltest dir mal anschauen, wie man Strings übergibt...
Versuch es mal statt LPCTSTR .bin mit TEXT(".bin")
Danke, aber egal wie ich es mache es kommt immer der Fehler
12 C:\Dev-Cpp\test.cpp initializer expression list treated as compound expression
und gegebenen falls auch
12 C:\Dev-Cpp\test.cpp invalid conversion from `const char*' to `LONG'wobei letzteres ja kein Problem darstellt. Wandle ich es halt einfach um...
#include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main() { LONG RegDeleteTree( HKEY HKEY_CLASSES_ROOT, TEXT(".bin") ); system("PAUSE"); return EXIT_SUCCESS; }
Nebenbei, wieso kann ich statt nen Long Pointer CStr aufeinmal TEXT nehmen?
MfG
Coda
-
erm
LONG RegDeleteTree(HKEY HKEY_CLASSES_ROOT, TEXT(".bin"))
Das ist irgentwie eine mischung aus prototyp und aufruf oO.
LONG bla; bla = RegDeleteTree( HKEY_CLASSES_ROOT, TEXT(".bin"))
-
@Coda@linux.PrayLoad:
http://www.volkard.de/vcppkold/inhalt.html
.
-
CodeFinder schrieb:
@Coda@linux.PrayLoad:
http://www.volkard.de/vcppkold/inhalt.html
.
Das bringt mir herzlich wenig wenn ich einfach nur zu doof bin die Requires zu lesen.
Da ich mir das ganze nie bis zum Ende durchgelesen habe kann ich auch net wissen das das ganze nur fuer Vista geht.....
Und genauso wenig das ich fuer SHDeleteKey noch shlwapi.h .lib und .dll brauche.
Man es muss doch eine einfache Loesung geben in der Hinsicht ist VB einen schritt weiter.....
Const HKEY_CLASSES_ROOT = &H80000000 regKey = ".bin" RegDeleteTree HKEY_CLASSES_ROOT, regKey
So begebe mich mal auf die suche von shlwapi.h .lib und .dll.
MfG
Coda
-
Hmm ... ich will dich ja mal nicht beleidigen. Aber du scheinst keine Ahnung zu haben, was du da tust.
http://msdn2.microsoft.com/en-us/library/ms724861.aspx
http://msdn2.microsoft.com/en-us/library/ms724845.aspx
-
(D)Evil schrieb:
Hmm ... ich will dich ja mal nicht beleidigen. Aber du scheinst keine Ahnung zu haben, was du da tust.
http://msdn2.microsoft.com/en-us/library/ms724861.aspx
http://msdn2.microsoft.com/en-us/library/ms724845.aspxMachst du nicht aber das deleted keinen Tree bzw kann nur einen Key loeschen wenn keine subkeys vorhanden sind.
Kann nur zu dem unteren Link sprechen da der obere nicht geht.MfG
Coda
-
Hmmm ... doch hat schon nen Grund das ich dir die Links da gegeben hab
Also: http://msdn2.microsoft.com/en-us/library/ms724256.aspx ... enumerier halt alle subkeys und lösche diese ... dann lösch den Eintrag selbst.
-
(D)Evil schrieb:
Hmmm ... doch hat schon nen Grund das ich dir die Links da gegeben hab
Also: http://msdn2.microsoft.com/en-us/library/ms724256.aspx ... enumerier halt alle subkeys und lösche diese ... dann lösch den Eintrag selbst.
Sorry, we were unable to service your request. Kommt als fehlermeldung
Jetzt geht es..... oO
Danke.
MfG
Coda