Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Имя пользователя, Как узнать? 
:(
    Опции темы
Gordon
Дата 19.8.2006, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 9.7.2006

Репутация: нет
Всего: 6



Ребята, подскажите пожалуйста, как можно узнать имена учетных записей пользователей,  которые которые есть в системе  smile 


--------------------

  
     
PM MAIL WWW   Вверх
Romikgy
Дата 19.8.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



в командной строке 
net user

Добавлено @ 13:47 
NetQueryDisplayInformation


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Gordon
Дата 19.8.2006, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 9.7.2006

Репутация: нет
Всего: 6



Romikgy, не хочу показаться навязчивым, но не мог бы примерчик подкинуть smile 


--------------------

  
     
PM MAIL WWW   Вверх
Romikgy
Дата 19.8.2006, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Цитата(Gordon @  19.8.2006,  17:23 Найти цитируемый пост)
не хочу показаться навязчивым

уже показался smile
ЗЫ нет у меня ща в данный момент на чем писать пример, бери мсдн и читай пиши


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Gordon
Дата 19.8.2006, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 9.7.2006

Репутация: нет
Всего: 6



Понятно, буду пробовать... 


--------------------

  
     
PM MAIL WWW   Вверх
Damarus
Дата 20.8.2006, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 1
Всего: 29



Цитата(Gordon @  19.8.2006,  19:23 Найти цитируемый пост)
Romikgy, не хочу показаться навязчивым, но не мог бы примерчик подкинуть 

Код

#pragma comment(lib, "NetApi32.lib")
#include <windows.h>
#include <lm.h>
#include <iostream>

int wmain(int argc, wchar_t *argv[], wchar_t *envp[])
{
    _wsetlocale(LC_ALL, L"Russian");
    PNET_DISPLAY_USER lpUsers = NULL;
    NET_API_STATUS status = ERROR_SUCCESS;
    DWORD dwUsersCount = 0, dwIndex = 0;

    do
    {
        status = NetQueryDisplayInformation(NULL, 1, dwIndex, 100,
            MAX_PREFERRED_LENGTH, &dwUsersCount, (PVOID*)&lpUsers);
        if (status == ERROR_SUCCESS || status == ERROR_MORE_DATA)
        {
            for (DWORD n = 0; n < dwUsersCount; n++)
            {
                wprintf(L"Name:      %s\n"
                        L"Full Name: %s\n"
                        L"Comment:   %s\n"
                        L"User ID:   %u\n"
                        L"Flags: 0x%08X\n"
                        L"--------------------------------\n",
                        lpUsers[n].usri1_name,
                        lpUsers[n].usri1_full_name,
                        lpUsers[n].usri1_comment,
                        lpUsers[n].usri1_user_id,
                        lpUsers[n].usri1_flags);
                dwIndex = lpUsers[n].usri1_next_index;
            }
            NetApiBufferFree(lpUsers);
        }
    }
    while (status == ERROR_MORE_DATA);
}


Это сообщение отредактировал(а) Damarus - 20.8.2006, 09:51
PM MAIL ICQ Jabber   Вверх
Gordon
Дата 20.8.2006, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 9.7.2006

Репутация: нет
Всего: 6



Damarus, что-то не работает...Ошибка:

Цитата

[Linker Fatal Error] Fatal: Unable to open file 'NETAPI32.LIB'



--------------------

  
     
PM MAIL WWW   Вверх
Damarus
Дата 20.8.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 1
Всего: 29



Попробуй поискать у себя Netapi32.lib. Если нет, то вот:

PS. А к Builder'у либы вообще подключаются smile 
PPS. Пример написан в VS2005.

Это сообщение отредактировал(а) Damarus - 20.8.2006, 12:04

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  NetAPI32.zip 7,56 Kb
PM MAIL ICQ Jabber   Вверх
Romikgy
Дата 20.8.2006, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Цитата(Damarus @  20.8.2006,  11:02 Найти цитируемый пост)

PS. А к Builder'у либы вообще подключаются  


да , но можно это сделать и через менюшки

Добавлено @ 12:41 
Код

//---------------------------------------------------------------------------

#pragma hdrstop
#pragma comment(lib, "NetApi32.lib")
#include <windows.h>    
#include <lm.h>    
#include <iostream>
#include <stdio.h>
//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
        _wsetlocale(LC_ALL, L"Russian");    
    PNET_DISPLAY_USER lpUsers = NULL;    
    NET_API_STATUS status = ERROR_SUCCESS;    
    DWORD dwUsersCount = 0, dwIndex = 0;    
    do    
    {    
        status = NetQueryDisplayInformation(NULL, 1, dwIndex, 100,    
            MAX_PREFERRED_LENGTH, &dwUsersCount, (PVOID*)&lpUsers);    
        if (status == ERROR_SUCCESS || status == ERROR_MORE_DATA)    
        {    
            for (DWORD n = 0; n < dwUsersCount; n++)    
            {    
                wprintf(L"Name:      %s\n"
                        L"Full Name: %s\n"    
                        L"Comment:   %s\n"    
                        L"User ID:   %u\n"    
                        L"Flags: 0x%08X\n"    
                        L"--------------------------------\n",    
                        lpUsers[n].usri1_name,    
                        lpUsers[n].usri1_full_name,    
                        lpUsers[n].usri1_comment,    
                        lpUsers[n].usri1_user_id,    
                        lpUsers[n].usri1_flags);
                dwIndex = lpUsers[n].usri1_next_index;    
            }    
            NetApiBufferFree(lpUsers);    
        }    
    }    
    while (status == ERROR_MORE_DATA);
    getchar();
        return 0;
}
//---------------------------------------------------------------------------


си билдер 6 работает
только я библиотеку NetApi32 из папки lib\Psdk перенес (скопировал) в \lib


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Gordon
Дата 20.8.2006, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 9.7.2006

Репутация: нет
Всего: 6



Спасибо большое!!! Все работает!!!! smile 


--------------------

  
     
PM MAIL WWW   Вверх
Gordon
Дата 21.8.2006, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 9.7.2006

Репутация: нет
Всего: 6



Ребята, вот нашел еще инфу:

Код

char lpBuffer1[100],lpBuffer2[100];
LPDWORD nSize1 = new DWORD(99);
LPDWORD nSize2 = new DWORD(99);
GetUserName(lpBuffer1,nSize1); // имя пользователя
GetComputerName(lpBuffer2,nSize2); // имя компьютера
Label1->Caption = "Имя пользователя: " + AnsiString(lpBuffer1);
Label2->Caption = "Имя компьютера: " + AnsiString(lpBuffer2);
delete nSize1; delete nSize2;


Тоже работает и вроде попроще, но эта простота немного настараживает, подскажите какой способ лучше  smile 

Это сообщение отредактировал(а) Gordon - 21.8.2006, 15:35


--------------------

  
     
PM MAIL WWW   Вверх
586
Дата 21.8.2006, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 57
Всего: 146



Цитата(Gordon @  21.8.2006,  16:09 Найти цитируемый пост)
LPDWORD nSize1 = new DWORD(99);
LPDWORD nSize2 = new DWORD(99);

Для чего здесь этот массив???

Код
char buff[100];
DWORD dw=100;
GetUserName(buff, &dw);
Caption=buff;


Цитата
подскажите какой способ лучше

GetUserName выводит имя пользователя текущего потока, а пример выше всех пользователей.
Тебе как надо?

Это сообщение отредактировал(а) 586 - 21.8.2006, 16:41
PM   Вверх
Gordon
Дата 21.8.2006, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 9.7.2006

Репутация: нет
Всего: 6



586, вполне можно и так, просто я эту инфу наше в FAQ'ке и в исходном виде записал, обрезав один кусок (там еще было получение информации об использовании ОЗУ памяти...) 

P.S. А как можно вывести имена определенных пользователей?

 


Это сообщение отредактировал(а) Gordon - 21.8.2006, 17:48


--------------------

  
     
PM MAIL WWW   Вверх
Damarus
Дата 22.8.2006, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 1
Всего: 29



Цитата(Gordon @  21.8.2006,  17:58 Найти цитируемый пост)
P.S. А как можно вывести имена определенных пользователей?

Чем определенных smile 

PM MAIL ICQ Jabber   Вверх
Gordon
Дата 22.8.2006, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 9.7.2006

Репутация: нет
Всего: 6



Цитата

Чем определенных 


Например только администратора компа (например)... 


--------------------

  
     
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1229 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.