Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Через 3 дня :

День славянской письменности и культуры


Как узнать имя залогинившегося юзера по IP?


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Пол:Муж spoon
Энтузиаст


Возраст: 30
Знак зодиака: Телец
Зарегистрирован: 10.03.2005
Сообщения: 337
Откуда: Архипелаг ГУЛАГ
СообщениеПн, 12-Сен-2005 14:24    Заголовок сообщения: Как узнать имя залогинившегося юзера по IP?
Цитата

Собственно есть ли вообще такая функция?
_________________
Верь людям - только так можно узнать кому стоит верить. (c) spoon
Не можешь держать язык за зубами, держи языком зубы:)
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеПн, 12-Сен-2005 21:30 
Цитата

Нет. Если есть домен, то можно. А на локальной машине - так она не докладывает никому, кто там на нее залогинился
_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж spoon
Энтузиаст


Возраст: 30
Знак зодиака: Телец
Зарегистрирован: 10.03.2005
Сообщения: 337
Откуда: Архипелаг ГУЛАГ
СообщениеВт, 13-Сен-2005 6:36 
Цитата

домен есть:)
_________________
Верь людям - только так можно узнать кому стоит верить. (c) spoon
Не можешь держать язык за зубами, держи языком зубы:)
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж spoon
Энтузиаст


Возраст: 30
Знак зодиака: Телец
Зарегистрирован: 10.03.2005
Сообщения: 337
Откуда: Архипелаг ГУЛАГ
СообщениеВт, 13-Сен-2005 8:40 
Цитата

Хорошая штука всё-таки эти факи:)
Код:
...
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, CommCtrl, Winsock;
const
  {$IFDEF RUS}
    RES_UNKNOWN = 'Íåèçâåñòíî';
  {$ELSE}
    RES_UNKNOWN = 'Unknown';
  {$ENDIF}
  WSA_TYPE = $101;
type
  _WKSTA_USER_INFO_1 = record
    wkui1_username: LPWSTR;
    wkui1_logon_domain: LPWSTR;
    wkui1_oth_domains: LPWSTR;
    wkui1_logon_server: LPWSTR;
  end;
  WKSTA_USER_INFO_1 = _WKSTA_USER_INFO_1;
  PWKSTA_USER_INFO_1 = ^_WKSTA_USER_INFO_1;
  LPWKSTA_USER_INFO_1 = ^_WKSTA_USER_INFO_1;
...
function NetWkstaUserEnum(ServerName : LPCWSTR; Level : DWORD;
    BufPtr : Pointer; PrefMaxLen : DWORD; EntriesRead : LPDWORD;
    TotalEntries : LPDWORD; ResumeHandle : LPDWORD): LongInt;
    stdcall; external 'netapi32.dll';
function NetApiBufferFree(buffer: Pointer): Cardinal;
    stdcall; external 'netapi32.dll';
...
function TForm1.GetUsers(const CompName : String) : String;
var
  Buffer, tmpBuffer : Pointer;
  PrefMaxLen : DWORD;
  Resume_Handle : DWORD;
  EntriesRead : DWORD;
  TotalEntries : DWORD;
  I, Size : Integer;
  PSrvr : PWideChar;
begin
  PSrvr := nil;
  try
    Size := Length(CompName);
    GetMem(PSrvr, Size * SizeOf(WideChar) + 1);
    StringToWideChar(CompName, PSrvr, Size + 1);
    PrefMaxLen := DWORD(-1);
    EntriesRead := 0;
    TotalEntries := 0;
    Resume_Handle := 0;
    Buffer := nil;
    if NetWkstaUserEnum(PSrvr, 1, @Buffer, PrefMaxLen, @EntriesRead,
      @TotalEntries, @Resume_Handle) = S_OK then
    begin
      tmpBuffer := Pointer(DWORD(Buffer) + SizeOf(WKSTA_USER_INFO_1));
      for I := 1 to TotalEntries - 1 do
      begin
        Result := Result + WKSTA_USER_INFO_1(tmpBuffer^).wkui1_username;
        tmpBuffer := Pointer(DWORD(tmpBuffer) + SizeOf(WKSTA_USER_INFO_1));
      end;
    end
    else
      ShowMessage(SysErrorMessage(GetLastError));
  finally
    NetApiBufferFree(Buffer);
    FreeMem(PSrvr);
  end;
end;
...

_________________
Верь людям - только так можно узнать кому стоит верить. (c) spoon
Не можешь держать язык за зубами, держи языком зубы:)
В начало
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100