Author: ekohl
Date: Sun Nov 18 22:54:04 2007
New Revision: 30559
URL:
http://svn.reactos.org/svn/reactos?rev=30559&view=rev
Log:
List all user profiles (SIDs only).
Modified:
trunk/reactos/dll/cpl/sysdm/userprofile.c
Modified: trunk/reactos/dll/cpl/sysdm/userprofile.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/userprofile.…
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/userprofile.c (original)
+++ trunk/reactos/dll/cpl/sysdm/userprofile.c Sun Nov 18 22:54:04 2007
@@ -62,10 +62,63 @@
static VOID
+AddUserProfile(HWND hwndListView,
+ LPTSTR lpProfileSid)
+{
+ LV_ITEM lvi;
+ INT iItem;
+
+ memset(&lvi, 0x00, sizeof(lvi));
+ lvi.mask = LVIF_TEXT | LVIF_STATE;
+ lvi.pszText = lpProfileSid;
+ lvi.state = 0;
+ iItem = ListView_InsertItem(hwndListView, &lvi);
+}
+
+
+static VOID
+AddUserProfiles(HWND hwndListView)
+{
+ HKEY hKeyUserProfiles;
+ DWORD dwIndex;
+ TCHAR szProfileSid[64];
+ DWORD dwSidLength;
+ FILETIME ftLastWrite;
+
+ if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+ _T("Software\\Microsoft\\Windows
NT\\CurrentVersion\\ProfileList"),
+ 0,
+ KEY_READ,
+ &hKeyUserProfiles))
+ return;
+
+ for (dwIndex = 0; ; dwIndex++)
+ {
+ dwSidLength = 64;
+ if (RegEnumKeyEx(hKeyUserProfiles,
+ dwIndex,
+ szProfileSid,
+ &dwSidLength,
+ NULL,
+ NULL,
+ NULL,
+ &ftLastWrite))
+ break;
+
+ AddUserProfile(hwndListView, szProfileSid);
+ }
+
+ RegCloseKey(hKeyUserProfiles);
+}
+
+
+static VOID
OnInitDialog(HWND hwndDlg)
{
/* Initialize the list view control */
SetListViewColumns(GetDlgItem(hwndDlg, IDC_USERPROFILE_LIST));
+
+ AddUserProfiles(GetDlgItem(hwndDlg, IDC_USERPROFILE_LIST));
/* Disable the "Delete" and "Copy To" buttons if the user is not
an admin */
if (!IsUserAdmin())