Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

вывести пользователей входящих в группу

13K
22 июня 2006 года
lexey
14 / / 27.02.2006
халлоу

у меня такая проблема: необходимо вывести зарегистрированных пользователей винды, точнее юзеров, входящих в группу "Пользователи".

как это можно сделать?
354
22 июня 2006 года
ШпиЁн
468 / / 19.02.2006
Вот то, что доктор прописал :о)

Код:
#include <windows.h>
#include <lm.h>

#pragma comment(lib, "netapi32.lib")

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
   LPUSER_INFO_1 pBuf = NULL;
   LPUSER_INFO_1 pTmpBuf;
   DWORD dwEntries = 0;
   DWORD dwTotalEntries = 0;
   DWORD dwResumeHandle = 0;
   NET_API_STATUS nStatus;
   
   do
   {
      nStatus = NetUserEnum(NULL, 1, FILTER_NORMAL_ACCOUNT, (LPBYTE*)&pBuf, MAX_PREFERRED_LENGTH, &dwEntries, &dwTotalEntries, &dwResumeHandle);
      if ((nStatus == NERR_Success) || (nStatus == ERROR_MORE_DATA))
      {
         if ((pTmpBuf = pBuf) != NULL)
         {
            for (DWORD i = 0; (i < dwEntries); i++)
            {
               if(pTmpBuf->usri1_priv == USER_PRIV_USER)  MessageBoxW(0, pTmpBuf->usri1_name, L"Пользователи", MB_OK);
               if(pTmpBuf->usri1_priv == USER_PRIV_ADMIN) MessageBoxW(0, pTmpBuf->usri1_name, L"Админы", MB_OK);
               pTmpBuf++;
            }
         }
      }
      if (pBuf != NULL)
      {
         NetApiBufferFree(pBuf);
         pBuf = NULL;
      }
   }
   while (nStatus == ERROR_MORE_DATA);
   
   if (pBuf != NULL) NetApiBufferFree(pBuf);
   
    return 0;
}


В качестве первого параметра функция NetUserEnum принимает имя компа, NULL - localhost :)
13K
22 июня 2006 года
lexey
14 / / 27.02.2006
спасиб ШпиЁн
ща попробуем
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог