Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Помогите с программированием в сети

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [В локальной сети] >> Помогите с программированием в сети
Имя
Сообщение << Старые топики   Новые топики >>
Помогите с программированием в сети - 2006-12-05 21:15:52.790000   
C0ffe1n

Сообщений: 5
Оценки: 0
Присоединился: 2006-11-29 02:20:30.003333
Прошу всех кто может помочь!
Проблема такая, мне нужно с помощью апи-функции (я пробовал function WNetEnumResource(hEnum: THandle; var lpcCount: DWORD; lpBuffer: Pointer; var lpBufferSize: DWORD)) определить имя моей рабочей группы. Поясните что за парамметры в ней и че надо в них указывать.
А может есть другой вариант? [sm=15.gif]
 
P.S. Заранее спасибо!
Post #: 1
RE: Помогите с программированием в сети - 2006-12-27 14:44:35.266666   
C0ffe1n

Сообщений: 5
Оценки: 0
Присоединился: 2006-11-29 02:20:30.003333
Оказывется есть другой вариант, я все таки решил эту проблему. Оценив помощь, выкладываю исходник для тех кто так же сталкнется с такой проблемой.
type &nbsp; WKSTA_INFO_100 = record &nbsp;&nbsp;&nbsp; wki100_platform_id: Integer; &nbsp;&nbsp;&nbsp; wki100_computername: PWideChar; &nbsp;&nbsp;&nbsp; wki100_langroup: PWideChar; &nbsp;&nbsp;&nbsp; wki100_ver_major: Integer; &nbsp;&nbsp;&nbsp; wki100_ver_minor: Integer; &nbsp; end; //WinNT UNICODE equivalents from NETAPI32.DLL &nbsp;TWinNT_NetWkstaGetInfo = function(ServerName: PWideChar; level: Integer; var &nbsp;&nbsp;&nbsp; BufPtr: Pointer): Integer; &nbsp; stdcall; &nbsp; TWinNT_NetApiBufferFree = function(BufPtr: Pointer): Integer; &nbsp; stdcall; var &nbsp; Form1: TForm1; implementation {$R *.dfm} function GetDomainName: AnsiString; var &nbsp; WinNT_NetWkstaGetInfo: TWinNT_NetWkstaGetInfo; &nbsp; WinNT_NetApiBufferFree: TWinNT_NetApiBufferFree; &nbsp; WSNT: ^WKSTA_INFO_100; &nbsp; EC: DWORD; &nbsp; hNETAPI: THandle; begin &nbsp; try &nbsp;&nbsp;&nbsp; Result := ''; //Загружаем Длл'ку &nbsp;&nbsp;&nbsp; hNETAPI := LoadLibrary('NETAPI32.DLL'); &nbsp;&nbsp;&nbsp; //получаем адрес указанных айпишек &nbsp;&nbsp;&nbsp; WinNT_NetWkstaGetInfo := GetProcAddress(hNETAPI, 'NetWkstaGetInfo'); &nbsp;&nbsp;&nbsp; WinNT_NetApiBufferFree&nbsp; := GetProcAddress(hNETAPI, 'NetApiBufferFree'); //вызываем функцию для получения инфы в структуру WSNT типа WKSTA_INFO_100 &nbsp;&nbsp;&nbsp; EC := WinNT_NetWkstaGetInfo(nil, 100, Pointer(WSNT)); //проверяем на наличие ошибки &nbsp;&nbsp;&nbsp; if EC = 0 then &nbsp;&nbsp;&nbsp; begin &nbsp;&nbsp;&nbsp; //получаем имя РАБОЧЕЙ ГРУППЫ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Result := WideCharToString(WSNT^.wki100_langroup); &nbsp;&nbsp;&nbsp; //освобождаем структуру &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WinNT_NetApiBufferFree(Pointer(WSNT)); &nbsp;&nbsp;&nbsp; end; &nbsp; finally &nbsp;&nbsp;&nbsp; if hNETAPI &lt;&gt; 0 then &nbsp;&nbsp;&nbsp; //освобождаем Длл'ку &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FreeLibrary(hNETAPI); &nbsp; end; end; procedure TForm1.Button1Click(Sender: TObject); begin //Результат на экран! &nbsp; ShowMessage(GetDomainName); end; &nbsp;
Post #: 2
Страниц:  [1]
Все форумы >> [В локальной сети] >> Помогите с программированием в сети







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.