Форум: "Сети";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
ВнизПоиск в локальной сети включеных компов Найти похожие ветки
← →
DelphiN! (2003-09-27 08:27) [0]Люди plzzz срочно надо найти в сети все компы, но незнаю как!
← →
icebeerg (2003-09-27 10:26) [1]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Computer: Array [1..500] of String;
ComputerCount:Integer;
implementation
{$R *.DFM}
procedure FindAllComputers(Workgroup: String);
Var
EnumHandle : THandle;
WorkgroupRS : TNetResource;
Buf : Array[1..500] of TNetResource;
BufSize : Cardinal;
Entries : Cardinal;
Result : Integer;
begin
ComputerCount := 0;
Workgroup := Workgroup + #0;
FillChar(WorkgroupRS, SizeOf(WorkgroupRS) , 0);
With WorkgroupRS do begin
dwScope := 2;
dwType := 3;
dwDisplayType := 1;
dwUsage := 2;
lpRemoteName := @Workgroup[1];
end;
WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,0,@WorkgroupRS,EnumHandle );
Repeat
Entries := 1;
BufSize := SizeOf(Buf);
Result:=WNetEnumResource(EnumHandle,Entries,@Buf,BufSize);
If (Result = NO_ERROR) and (Entries = 1) then begin
Inc( ComputerCount );
Computer[ ComputerCount ] := Buf[1].lpRemoteName;
end;
Until (Entries <> 1) or (Result <> NO_ERROR);
WNetCloseEnum( EnumHandle );
end;
{ Find All Computers }
procedure TForm1.Button1Click(Sender: TObject);
var
i,i2:integer;
Str1,Str2:String;
begin
FindAllComputers("Firma");
For i:=1 to ComputerCount do
Begin
Str1:=Computer[i];
Str2:="";
For i2:=1 to Length(Str1) do
If Str1[i2]<>"\" Then Str2:=Str2+Str1[i2];
Computer[i]:=Str2;
End;
For i:=1 to ComputerCount do
Begin
Str1:=Computer[i];
LIstBox1.Items.Add(Computer[i]);
End;
end;
end.
← →
BillyJeans (2003-09-27 13:37) [2]var
Computer : Array[1..500] of String[25];
ComputerCount : Integer;
procedure FindAllComputers(Workgroup: String);
Var
EnumHandle : THandle;
WorkgroupRS : TNetResource;
Buf : Array[1..500] of TNetResource;
BufSize : Integer;
Entries : Integer;
Result : Integer;
begin
ComputerCount := 0;
Workgroup := Workgroup + #0;
FillChar(WorkgroupRS, SizeOf(WorkgroupRS) , 0);
With WorkgroupRS do begin
dwScope := 2;
dwType := 3;
dwDisplayType := 1;
dwUsage := 2;
lpRemoteName := @Workgroup[1];
end;
WNetOpenEnum( RESOURCE_GLOBALNET,
RESOURCETYPE_ANY,
0,
@WorkgroupRS,
EnumHandle );
Repeat
Entries := 1;
BufSize := SizeOf(Buf);
Result :=
WNetEnumResource( EnumHandle,
Entries,
@Buf,
BufSize );
If (Result = NO_ERROR) and (Entries = 1) then begin
Inc( ComputerCount );
Computer[ ComputerCount ] := StrPas(Buf[1].lpRemoteName);
end;
Until (Entries <> 1) or (Result <> NO_ERROR);
WNetCloseEnum( EnumHandle );
end; { Find All Computers }
← →
Е-Моё имя (2003-09-28 01:06) [3]
> Поиск в локальной сети включеных компов
> DelphiN! © (27.09.03 08:27)
> Люди plzzz срочно надо найти в сети все компы, но незнаю
> как!
нужен сканер ЭМИ
← →
Rem (2003-09-29 15:21) [4]Красавцы! :D Хоть бы копирайт ставили!...
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.088 c