Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.041 c
3-1082443117
denmin
2004-04-20 10:38
2004.05.16
Как узнать тип поля таблицы?


14-1082816379
kriolla
2004-04-24 18:19
2004.05.16
программа


14-1083126435
nonstop
2004-04-28 08:27
2004.05.16
Не делай людям добра, и они....


6-1079776170
AkaSaint
2004-03-20 12:49
2004.05.16
Что-то я не понял в устройстве TCustomWinSocket


11-1069698015
zeddy
2003-11-24 21:20
2004.05.16
Application.OnIdle := MoveBall;





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский