Suche RegDeleteKeyEx
-
Hallo.
Ich habe bisher immer RegDelteKey verwendet, hat auch bisher immer funktioniert.
Nun, um unter einem 64 Bit OS etwas löschen zu können, benötigt man anscheinend RegDeleteKeyEx.
Ich habe mich zuerst gewundert, warum RegDeleteKeyEx unbekannt ist, habe dann aber in einigen Internetforen gelesen, dass man sich das neue Platform SDK ziehen soll, da es in der windows.h von Visual Studio 6.0 offenbar nicht drin ist.
Ich habe mir also kurzerhand "mal eben" das ISO gezogen:
"Windows
Server 2003 R2 Platform SDK ISO Download"
http://www.microsoft.com/downloads/details.aspx?FamilyID=e15438ac-60be-41bd-aa14-7f1e0f19ca0d&DisplayLang=en
und das ganze installiert.Frage:
Wie komme ich jetzt an die neue windows.h ran?Ich habe jetzt unter \Windows
Server 2003 R2 Platform SDK\include eine windows.h die offenbar anders ist, da zumindest beim durchsuchen was von RegDeleteKeyEx drin steht.
Aber C++ 6 findet deswegen immer noch nix, nur weil das SDK jetzt installiert ist.Muss man das noch irgendwie einbinden?
thx
mfg
trequ
-
Diese neuen Platform SDKs sind nicht VC6 kompatibel.
Das letzte SDK das mit VC6 arbeitet ist IMHO Februar 2003.
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htmMein Rat: Schmeiß VC6 einfach weg und nimm VS2005! 8 Jahre sind einfach genug...
Und sicherlich musst Du die Header des SDKs einbeinden. Die Include-PFade des Lib-Pfade des SDK's müssen vor denen des VC6 liegen.
-
Martin Richter schrieb:
Diese neuen Platform SDKs sind nicht VC6 kompatibel.
Das letzte SDK das mit VC6 arbeitet ist IMHO Februar 2003.
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htmAhhh!!
Danke
Martin Richter schrieb:
Mein Rat: Schmeiß VC6 einfach weg und nimm VS2005! 8 Jahre sind einfach genug...
Erste gehversuche mit VC 2005 Express:
CString test;
test = "Hallo Welt";
MessageBox(test);Erzeugt 2 Fehlermeldungen.

1x kennt er CString nicht (wtf!?!) und 1x MessageBox (lol?);
Ich hab gestern 2 Stunden daran rumgesucht, und es gibt anscheinend im Web keine Info, warum das nicht geht.
Jedenfalls keine, die jemand, der sich C++ 6.0 selber beigebracht hat, was anfangen kann.Ich schreib seid 3 Jahren immer mal wieder Tools mit C++ 6.0 und hab mir alles quasi selber beigebracht.
Ich hatte schon immer Probleme damit, zwischen char, char *, char[], char[5], string, CString, und was es noch alles gibt, zu unterscheiden.
Ich komm aus der PHP Ecke, da ist $text = "String... " und gut ist.
Aber da man bei C ja leider den altbekannten String in 500 Versionen neu erfunden hat... blicken einsteiger gar nicht mehr durch.
Oder schon mal eine Anleitung bzw ein Buch gesehen, wo das Thema erklärt wird?
Ich hab glaub 5 oder 6 Bücher dazu (Programmieren mit MFC, .NET für Anfänger, etc...) in der Arbeit liegen...
Die geben alle vor, für Einsteiger zu sein. Dann wird in Kapitel 1 erklärt.. also int a = 1 (ah ha! wusste ich vorher nur schon...) und char c = 'A' (na toll -.-)
In Kapitel 2 kommen sie dann mit 200 anderen Datentypen an (z.B. DWORD oder LPCTSTR, die ich bis heute noch net kapier) und verwenden die wie ganz selbstversändlich. Da setzt bei mir das "hä?"-Syndrom ein und das wars dann mit dem Buch. -.-mfg
trequ
-
Ich kann dich gut verstehe, auch ich habe mir C/C und anderes bis jetzt selbst beigebracht und habe ähnliche Probleme.
Was aber die gerade aufgelisteten Probleme betrifft so kann ich dir glaube ich helfen. Wenn du Programme schreiben willst, die International funktionieren verwendest du für Strings am besten:
TCHAR test[10]; // ein String test = TEXT("Hallo Welt"); // setzten des StringsSo wie ich die Funktion MessageBox kenne ist Sie ein bisschen länger deklariert (siehe MSDN MessageBox). Aber um das zu erreichen was du willst reicht:
MessageBox(NULL,test,TEXT("Dies ist eine Meldung"),NULL);PS: wenn du MessageBox( eingibst erscheint normal eine Liste der Parameter und deren Typ.
Was DWORD betrifft so vermute ich, dass es für Doubble WORD steht, Was WORD betrifft so vermute ich das es sich um einen vorzeichenlosen Integer Wert mit 2 Byte handelt.
Was LPCTSTR betrifft so liege ich bei: Long Pointer to a C String oder so ähnlich. d.h. es ist eine Zeiger auf einen C- String.
Wenn du also in der Parameter Liste einer Funktion einen findest der den Typ LPCTSTR hat so übergieb einfach &string für einen String in einer Variable oder
&TEXT("Hallo...")direkt. Mit Zeigern hab ich schon immer meine Probleme aber langsam wirds, (bei Klassen ist so wie so noch Ebbe). PS: alles was ich hier geschrieben habe basiert nur auf Selbsterfahrung und Vermutung, alles was uns Maschinenbau HTLern beigebracht wurde ist ein bisschen VB/VBA und ein bisschen HTML, der Rest wurde hart selbst erarbeitet.
-
frederik_duese schrieb:
Wenn du also in der Parameter Liste einer Funktion einen findest der den Typ LPCTSTR hat so übergieb einfach &string für einen String in einer Variable oder
&TEXT("Hallo...")direkt.
Nop, das ist falsch. Mit
TEXT("Hallo ...")hast Du schon einen Zeiger auf const char (da das ein in den den Quellcode eingebettetes und damit statisches Array darstellt).
-
trequ schrieb:
Erste gehversuche mit VC 2005 Express:
CString test;
test = "Hallo Welt";
MessageBox(test);VC2005 Express enhällt weder die MFC noch ATL!
Dieser Code kann nicht funktionieren!PS: Ich meinte das schon geschrieben zu haben, aber hier nochmal!
-
Martin Richter schrieb:
trequ schrieb:
Erste gehversuche mit VC 2005 Express:
CString test;
test = "Hallo Welt";
MessageBox(test);VC2005 Express enhällt weder die MFC noch ATL!
Dieser Code kann nicht funktionieren!PS: Ich meinte das schon geschrieben zu haben, aber hier nochmal!
D. h. es ist nicht mehr drin weil die 2005er Version zu neu ist, oder weil Express entsprechend kastiert ist und man die 2000$-Vollversion kaufen soll... ?
-
trequ schrieb:
D. h. es ist nicht mehr drin weil die 2005er Version zu neu ist, oder weil Express entsprechend kastiert ist und man die 2000$-Vollversion kaufen soll... ?
Jo, die Express Edition ist da ein bissl beschnitten. In der Vollversion ists dabei. Du kannst aber die MFC von Visual C++ 6.0 wieder nutzen. Find nur grad das Tutorial dazu nicht, wird nachgepostet
.EDIT: Quote gefixt.