Вниз
Скачать: CL | DM;

Определение имени компьютера в локальной сети   Найти похожие ветки 

← →
DrFox ©   (2003-08-31 20:55) [0]

Господа подскажите пожалуйста как опрендилить имя компьютера
в локальной сети
Зарание благодарен !!!! :)


← →
TButton ©   (2003-08-31 21:06) [1]

я похожий вопрос задавал в разделе "сети" и что самое приятное - получил ответ, хотя не совсем то... вот что-то найти не могу...наешл. на винте. цитирую

procedure Scan(Res: TNetResource; Root: boolean);
var
hEnum: cardinal;
nrResource: array[0..512] of TNetResource;
dwSize: DWORD;
numEntries: DWORD;
i: DWORD;
dwResult: DWORD;
begin
if Root = True then
dwResult := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
0, nil, hEnum)
else
dwResult := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
0, @Res, hEnum);
if dwResult = NO_ERROR then
begin
dwSize := SizeOf(nrResource);
numEntries := DWORD(-1);
if WNetEnumResource(hEnum, numEntries, @nrResource, dwSize) = NO_ERROR then
begin
for i := 0 to numEntries - 1 do
begin
if nrResource[i].lpRemoteName <> nil then
Form1.Memo1.Lines.Add(nrResource[i].lpRemoteName);
Scan(nrResource[i], false);
end;
end;
WNetCloseEnum(hEnum);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
R:TNetResource;
begin
Scan(R, True);
end;


тока в результат функция выдает все подряд, включая расшареные папки, рабочии групы, компьютеры.


← →
Dennisius   (2003-08-31 22:02) [2]

for i := 0 to numEntries - 1 do
begin
if nrResource[i].lpRemoteName <> nil then
Form1.Memo1.Lines.Add(nrResource[i].lpRemoteName);
Scan(nrResource[i], false); <<Убери строку получиш только компы
end;



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
14-89529
Soft
2003-10-04 16:17
2003.10.27
Выход в астрал - впечатления.


3-89172
Митяй
2003-10-06 16:52
2003.10.27
SQL запрос с тремя таблицами


6-89416
Khloo!
2003-09-02 12:35
2003.10.27
Сообщение по локальной сети


14-89515
Кот Бегемот
2003-10-08 11:50
2003.10.27
Привет. Небольшой тест :)


6-89415
Finger
2003-09-02 12:11
2003.10.27
снифер




   Наверх