AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Getallusers-Pfade: Notlösung

Ein Thema von Go2EITS · begonnen am 14. Sep 2006 · letzter Beitrag vom 18. Sep 2006
 
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#16

Re: Getallusers-Pfade: Notlösung

  Alt 15. Sep 2006, 13:18
@ SirThornberry
Eigentlich möchte ich die alle User, einschließlich dem Pfath:
Administrator
<User1>
<User2>
All Users

und
DEFAULT USER

Dabei sind gelöschte User nicht relevant. (Was will ich auch mit denen?)
Mit der "Notlösung" bekomme ich die Pfade. Der Thread zeigt, dass es nicht so einfach ist. Und klar: Zugriff darauf nur als Admin.

Der Sinn und Zweck ist es, z. B. die Inhalte des Recent-Verzeichnisses oder Temp zu löschen. Also nicht nur die Administrator\Recent sondern auch die betreffenden Verzeichnisse von den Benutzern. (z. B. mich selbst). Ob es sinvoll ist, entscheidet der Admin, der ein "Deepclean" oder "normales" Clean verwenden kann. Dies ist für Backup/Images oder ein schlankes System durchaus sinnvoll, oder auch um Trojaner und Viren zu "vertreiben", die sich, wie ich gesehen habe, sich auch als Kopie in der \TEMP und/oder auch als .tmp getarnt tummeln können.

Hier mal die CSIDL, von denen wohl die Rede ist und meiner Ansicht nach in Luckies Artikel der Vollständigkeithalber gehören würde:

Zitat:
CSIDL_DESKTOP = $0000;
CSIDL_INTERNET = $0001;
CSIDL_PROGRAMS = $0002;
CSIDL_CONTROLS = $0003;
CSIDL_PRINTERS = $0004;
CSIDL_PERSONAL = $0005;
CSIDL_FAVORITES = $0006;
CSIDL_STARTUP = $0007;
CSIDL_RECENT = $0008;
CSIDL_SENDTO = $0009;
CSIDL_BITBUCKET = $000a;
CSIDL_STARTMENU = $000b;
CSIDL_DESKTOPDIRECTORY = $0010;
CSIDL_DRIVES = $0011;
CSIDL_NETWORK = $0012;
CSIDL_NETHOOD = $0013;
CSIDL_FONTS = $0014;
CSIDL_TEMPLATES = $0015;
CSIDL_COMMON_STARTMENU = $0016;
CSIDL_COMMON_PROGRAMS = $0017;
CSIDL_COMMON_STARTUP = $0018;
CSIDL_COMMON_DESKTOPDIRECTORY = $0019;
CSIDL_APPDATA = $001a;
CSIDL_PRINTHOOD = $001b;
CSIDL_ALTSTARTUP = $001d; // DBCS
CSIDL_COMMON_ALTSTARTUP = $001e; // DBCS
CSIDL_COMMON_FAVORITES = $001f;
CSIDL_INTERNET_CACHE = $0020;
CSIDL_COOKIES = $0021;
CSIDL_HISTORY = $0022;
%HomeDir%

Der Code von Luckie funzt einwandfrei. Aber ich bekomme nur "meine" Pfade und die der "All Users"
wenn ich es richtig gesehen habe. Meine "Notlösung" - nur als Admin - greift darüber.

@shmia
Magst Du nicht ein wenig konkreter werden?
Zitat:
BOOL GetProfilesDirectory(
LPTSTR lpProfilesDir,
LPDWORD lpcchSize
);
damit komme ich nicht klar. Wie muss ich was, wo und wann einbinden und wie dann aufrufen?

Eine Lösung für C:\dokumente und einstellungen\ hätte ich auch.
Ich rufe Lukies Code auf und lese zwischen dem erstem Backslash bis zum zweiten Backslash den Text aus. Et voilá: Da haben wir eine universelle Routine.

Wenn der Thread zu einer sauberen Lösung führen würde, dann hat es sich für uns gelohnt. Sonst bleibt nur die Notlösung.

Beste Grüße an die DP!
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz