15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как посмотреть всех пользователей Windows NT

Пример показывает, как получить логины первых 20-ти локальных пользователей. Более подробную информацию о функции NetUserEnum смотрите MSDN.

void ShowNTUsers()
{
   DWORD dwTotalEntries;
   DWORD dwEntriesRead;
   DWORD dwPrefmaxlen = 20;
   USER_INFO_0 * theEntries = new USER_INFO_0[20];
   NET_API_STATUS napistat;

   napistat = ::NetUserEnum(NULL, 0, 0, /*out*/ (LPBYTE*)&theEntries , dwPrefmaxlen,
   /*out*/&dwEntriesRead, /*out*/ &dwTotalEntries, /*out resumehandle*/ NULL);

   if (napistat != NERR_Success)
   {
      AfxMessageBox ("NetUserEnum failed");
      return;
   }

   for (int i=0; i< dwEntriesRead; i++)
   {
      AfxMessageBox(CString(theEntries[i].usri0_name));
   }

   ::NetApiBufferFree (theEntries);
}