Pfad von "All Users/Anwendungsdaten" finden
-
BitWax warum postest du sowas obwohl Mmacher schon eine bessere Lösung gepostet hat?
-
Schonmal was von alternativen Vorschlägen gehört

-
Danke für eure Hilfe! Ich hab's mit der Funktion von @Mmacher programmiert, und es läuft bestens.
-
BitWax schrieb:
Schonmal was von alternativen Vorschlägen gehört

Nichts für ungut, aber Microsoft hat die Funktion SHGetFolderPath() extra für diesen Zweck designt - ob man nun keine Leseberechtigung auf HKEY_LOCAL_MACHINE hat oder in späteren Windowsversionen die Registry das woanders ablegt - Microsoft hat da schon seine Gründe. Eine echte Alternative ist es IMHO nicht.
-
ich benutze das immer so, weil ich SHGetFolderPath nicht benutzen kann...hat seine Gründe

-
BitWax schrieb:
ich benutze das immer so, weil ich SHGetFolderPath nicht benutzen kann...hat seine Gründe

Aha und warum nennst du die Gründe nicht?
-
sind ganz einfach designtechnische gründe

-
Vollidiot!
-
aha, na dann schieß los

-
Sach mal, was geht denn hier ab?
Um den Streit (hoffentlich) zu Beenden: Ich bin für jeden Vorschlag und jede Hilfe dankbar.
Zurück zum Thema:
Ein Kollege von mir bräuchte die gleiche Funktionalität in Java.
Könnte ihr mir da helfen. Ich hab schon gegoogelt, aber nichts gefunden. Ich hab schon ne Weile nicht mehr in Java geproggt, bin etwas eingerostet..
Mfg
-
Firewall schrieb:
Sach mal, was geht denn hier ab?
eigentlich nichts, bloß firebal war dar meinung rumtrollen und -flamen zu müssen

und zum thema java: da musste mal ins java subboard gehen, oder ein mod verschiebt den thread dorthin

-
Microsoft empfiehlt davon abzusehen, die Werte aus der Registry zu lesen:
http://blogs.msdn.com/oldnewthing/archive/2003/11/03/55532.aspx
-
Es ist nicht OK den Weg über die Registry zu benutzen. Es ist unsinnig, weil nicht dokumentiert.
Und es gibt nicht einen einzigen designtechnischen Grund nicht die SHGet... Funktionen zu verwenden.
-
BitWax schrieb:
sind ganz einfach designtechnische gründe

Dann nenn doch mal deine designtechnischen Gründe?
-
Martin Richter schrieb:
Und es gibt nicht einen einzigen designtechnischen Grund nicht die SHGet... Funktionen zu verwenden.
weil du natürlich auch soviel ahnung davon hast, wie meine programme aufgebaut sind

_Luckie schrieb:
Dann nenn doch mal deine designtechnischen Gründe?
hatt ich eig. keine lust dazu

so dann fang ich mal an: ich lese cd-keys hauptsächlich aus der registry aus und in manchen fällen aber auch aus dateien. dafür habe ich eine klasse angelegt, in der die registry-paths für die cd-keys drin gespeichert sind. in einigen fällen liegen die cd-keys in dateien, die in ordnern wie All Users\Dokumente oder All Users\Anwendungsdaten oder oder oder abgelegt sind. damit ich die ganze geschichte nicht nochmal komplett umschreiben muss, nur um 3 oder 4 cd-keys mehr auslesen zu können, mache ich das lieber auf diesem weg oder lasse sie ganz weg.ob euch das jetzt klar geworden ist wozu ich das brauche ist mir recht egal, falls ihr sonst aber nicht schlafen könnt, erkläre ich das natürlich noch genauer

-
lol
-
char *apppath=getenv("APPDATA");
-
BitWax schrieb:
so dann fang ich mal an: ich lese cd-keys hauptsächlich aus der registry aus und in manchen fällen aber auch aus dateien. dafür habe ich eine klasse angelegt, in der die registry-paths für die cd-keys drin gespeichert sind. in einigen fällen liegen die cd-keys in dateien, die in ordnern wie All Users\Dokumente oder All Users\Anwendungsdaten oder oder oder abgelegt sind. damit ich die ganze geschichte nicht nochmal komplett umschreiben muss, nur um 3 oder 4 cd-keys mehr auslesen zu können, mache ich das lieber auf diesem weg oder lasse sie ganz weg.
ob euch das jetzt klar geworden ist wozu ich das brauche ist mir recht egal, falls ihr sonst aber nicht schlafen könnt, erkläre ich das natürlich noch genauer

Trotz Augenrollens:
Und das sind die Gründe: "All Users\Dokumente oder All Users\Anwendungsdaten"?Warum verwendest Du nicht CSIDL_COMMON_APPDATA (FOLDERID_ProgramData),
CSIDL_COMMON_DOCUMENTS (FOLDERID_PublicDocuments)?Ich verstehe nicht ganz, warum Du die Registry bemühen musst, Ich sehe immer noch keinen designtechnischen Grund

-
Martin Richter schrieb:
Ich verstehe nicht ganz, warum Du die Registry bemühen musst, Ich sehe immer noch keinen designtechnischen Grund

weil die klasse nur daten bzw. pfade aus der registry speichert, und das verarbeiten automatisiert ist (also in einer schleife abläuft
). D.h. wenn ich das nach deiner Idee machen würde, dürfte ich mich wieder stundenlang hinsetzen die ganze geschichte umschreiben, und das nur, um 3 oder 4 spiele mehr auszulesen...
ich weiß auch nicht ob das so klar geworden ist, aber ich lese nur aus und lege keine neuen dateien oder ordner an.
-
... und wen interessiert das? Ob Du nun liest oder schreibst! Und ob die Schleife über die Registry geht oder über eine vordefinierte Liste aus CLSIDs... Spielt auch keine Rolle.
Du hast diesen Weg gewählt. In meinen Augen und in Augen der Entwickler von Windows ist er unnötig und falsch. SHGet... liefert alles was man braucht und man kann es ohne viel Aufwand richtig machen!
Aber wir müssen das hier nicht weiter breittreten. Du hast Deine Meinung ich meine. Setzen wir hier einen Punkt.