Hello! Does anyone know how I can enumerate all users and get their
profile folder on Windows9x/NT/2K/XP Systems?

W/9X Systems: I can retrieve "All Users/Current User" profiles.
("All Users" is not all the users on the system! just the default for all the users)

W/NT Systems: On NT based systems I know how I can enumerate all users
(NET API) and get their profile folder.

Does aynone know of any registry keys or api calls wich works on any Windows
system(universal)? NO? Then how I can enumerate all profile folders on a
Windows/9X system? I dont own a W/9X systems so I cannot test it.

Thanks for any information you can provide me with! :alright:
Posted on 2003-01-09 00:44:31 by natas
Hello, natas :)

First: do you have a machine with win9X to play around with? =) If not, I think it would be better.

A while ago I have looked for this kinda thing, without find much info about it. As win9X isn't really a multi user safe system (every user has every right), people don't bother much with profiles, besides the abbility to load different basic schemes (system colors, desktop, ...).

What I know:
    [*]win98 has poledit on it! I haven't tested it for what it does, but it is present on the installation CD, as many others that are "natural" of WinNT. So it might be usefull to know that (if you don't already ; )
    [*]If you wanna go for a more direct approach, you can try playing with info in the registry, and the folders on win9X. It is very similar to WinNT based system. Each user has a folder with some files, and the rest is registry info. I don't remeber by head wich key it should be, but I think it is not very much well hidden, capiche? ;)


    Regards,

    Wicr0s0ft
Posted on 2003-01-09 14:14:13 by wicr0s0ft
Well since W/9X systems are so unstable I only have a W/2K system(as I
mentioned above). I know of several ways I can enumerate any/all users
on any Windows based system. However, the methods I know are not
"clean" methods. In other words the methods may fail on users with other
languages and OR machines wich resort to some "freaky" setup.

Ofcourse I could say that the methods I know would work on maybe 90%(or more)
of all installed versions of Windows. I still dont have that last 10%! And I dont
make programs wich are not 99% compatible with other systems. I dont
want to depend on a bunch of "maybe's" when im programming for the
general public so to speak. It's important to look on a all the "buts/maybes"
when creating distributed applications. ( :) )

Anyways, to bad noone knows a certified way of doing it. Since noone knows
I will just retrieve the All Users/Current User profiles.


Thanks anyway tho! :alright:
Posted on 2003-01-09 14:31:05 by natas
Maybe you could tell us somo' those "maybe"s?

It could be interesting for both parties: we gain knowledge, and you might gain your reply through someone, that by "accident", bump into some info you need...
Posted on 2003-01-09 16:54:03 by wicr0s0ft
On 9x machines enumerate values in:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ProfileList

btw, if this key is empty or not exist it means no user profiles have been set up.


best regards,

czDrillard
Posted on 2003-01-11 00:30:18 by czDrillard
Thanks czDrillard! I knew there had to be something that could do the job. :alright:
Posted on 2003-01-11 01:00:35 by natas