Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

принадлежность ип к данной группе   Найти похожие ветки 

 
Aks   (2004-03-23 12:33) [0]

Как это можно узнать? А можно ли узнать по нику?


 
panov ©   (2004-03-23 12:35) [1]

принадлежность ип к данной группе

Что за группы?

А можно ли узнать по нику?

Адрес IP никак не связан с никами.


 
Aks   (2004-03-23 12:39) [2]

Например, есть домен, в нем две группы А и Б, чел Petr принадлежит группе А.
Как я смогу это узнать?


 
Aks   (2004-03-23 13:29) [3]

Нашел функцию
WNetGetUser(lpName,lpUserName: PAnsiChar; var lpLength: Cardinal)
может кто-нить сможет обьяснить мне параметры, а то я что-то туплю.


 
Ozone ©   (2004-03-23 13:43) [4]

lpName
Contains the name of the local device the caller is interested in, or the name of a remote network resource that the user has made a connection to, or the name of a network provider, or NULL or the empty string if the caller is interested in the name of the user currently logged on to the system.

lpUserID
Points to a buffer to receive the user profile name. This is an identification string that the user made to establish the connection (for example, a user name, or group name).
If the name passed in is a network provider and the network does not have a network wide log on, then an empty string is returned.

If a network resource name is passed in, and the user is connected to that resource using different names, it is possible that a NP cannot resolve which user profile name to return. In this case the NP may make an arbitrary choice amongst the possible user names.


 
Rouse_ ©   (2004-03-23 13:44) [5]

Ну в справке же описано, первый параметр имя, второй буфер (к примеру array [0..255] of Char) третий размер буфера

procedure TForm1.Button1Click(Sender: TObject);
var
 Buff: array [0..255] of Char;
 Length: Cardinal;
begin
 Length := 256;
 WNetGetUser(PChar(Usr), @Buff, Length);
 Caption := String(Buff);
end;


Но только эта функция не даст тебе нужного результата...


 
Rouse_ ©   (2004-03-23 13:50) [6]

В примере > PChar(Usr) нужно заменить на nil :)


 
Aks   (2004-03-23 13:58) [7]

Всем спасибо, действительно не помогла. А может кто знает, какая поможет? Очень нужно.


 
Ozone ©   (2004-03-23 14:03) [8]

Открывай только в IE

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemain4/html/_wcesdk_iphlpapi_Module.asp

Если надо, могу выслать додуль с описанием всех этих процедур.


 
Aks   (2004-03-23 14:12) [9]

Спасибо. Полазил, ничего подходящего, к сожалению, не нашел. Может еще какие ссылки есть?


 
BiN ©   (2004-03-23 14:23) [10]

NetUserGetGroups
в мсдн даже пример есть


 
Ozone ©   (2004-03-23 14:38) [11]

NetWkstaUserEnum

NetWkstaUserEnum(servername: PWideChar;  // IP
                    level : DWord;
                var bufptr: Pointer; // вот здесь будет лежать все что нужно (см. (*))
                prefmaxlen: DWord;
           var entriesread: PDWord;
          var totalentries: PDWord;
          var resumehandle: PDWord ): LongInt ;
stdcall; external "netapi32.dll" name "NetWkstaUserEnum";

(*) THostInfo = record
           username: PWideChar;
           logon_domain: PWideChar;
           oth_domains: PWideChar;
           logon_server: PWideChar;
   end;

Вызывается все это дело:

NetWkstaUserEnum(PWideChar(HostName),1,Info,256*Integer(ElTotal),
                           ElCount,ElTotal,Resume)
P := THostInfo(Info^)

где
  Info: Pointer;
  ElTotal: PDWord;
  ElCount: PDWord;
  Resume: PDWord;
  P: THostInfo;


 
Aks   (2004-03-23 14:45) [12]

А какую библиотеку надо подключить и как(ниразу не подключал библиотеки)?


 
Ozone ©   (2004-03-23 14:48) [13]

Я же писал

stdcall; external "netapi32.dll" name "NetWkstaUserEnum";


 
Aks   (2004-03-23 15:19) [14]

на этой строке возникает ошибка Read of adress 0000000
P := THostInfo(Info^);
кто-нить знает почему? вроде все правильно


 
Ozone ©   (2004-03-23 15:24) [15]

Вот полный код функции:

function GetNetUser(HostName: WideString): THostInfo;
var
 Info: Pointer;
 ElTotal: PDWord;
 ElCount: PDWord;
 Resume: PDWord;
 Error: LongInt;
begin
    Resume:=0;
   NetWkstaUserEnum(PWideChar(HostName),1, Info,0,
                           ElCount,ElTotal,Resume);
   Error:=NetWkstaUserEnum(PWideChar(HostName),1,Info,256*Integer(ElTotal),
                           ElCount,ElTotal,Resume);
   case    Error    of
     ERROR_ACCESS_DENIED: Result.UserName:= "ERROR - ACCESS DENIED";
     ERROR_MORE_DATA: Result.UserName:= "ERROR - MORE DATA";
     ERROR_INVALID_LEVEL: Result.UserName:= "ERROR - INVALID LEVEL";
     else if Info <> nil then Result:=THostInfo(info^)
     else begin
       Result.username:= "";
       Result.logon_domain:= "";
       Result.oth_domains:= "";
       Result.logon_server:= "";
     end;
   end;
end;


 
Ozone ©   (2004-03-23 15:29) [16]

Ну и вызываешь:

var
 HostInfo: THostInfo;
begin
    HostInfo := GetNetUser("127.0.0.1");
    Caption := HostInfo.logon_domain;

end;


 
Aks   (2004-03-23 15:35) [17]

Всем спасибо. Дал бы пива, если бы такая возможность была. Мб кто-нить живет в ГЗ МГУ?


 
Ozone ©   (2004-03-23 15:45) [18]

Приезжай в Новосиб, для пива всегда место найдется ;-)



Страницы: 1 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.039 c
3-1082454033
Litva
2004-04-20 13:40
2004.05.16
Exel...


1-1083669960
MRAk
2004-05-04 15:26
2004.05.16
как использовать кнопки типа "ctrl,alt,print screen и.т.д"?


1-1083487487
mr.Delphin
2004-05-02 12:44
2004.05.16
Диалог


8-1077817254
Простой
2004-02-26 20:40
2004.05.16
Восстановление jpg-файла


7-1074950103
Angel_Forever
2004-01-24 16:15
2004.05.16
Слежка за запускаемыми на ПК процессами