Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

как проверить все IP адресса в локалке .   Найти похожие ветки 

 
sadretro ©   (2004-02-07 22:59) [0]

Помогите как проверить  IP адресса в локалке и проверить расшаренные рессурсы!


 
Andersen ©   (2004-02-09 14:58) [1]

Что значит "проверить"?


 
MetalFan ©   (2004-02-09 18:06) [2]

WNetOpenEnum
WNetEnumResource
WNetCloseEnum


 
MetalFan ©   (2004-02-09 18:24) [3]

и статейка...
http://www.delphimaster.ru/articles/netmon/index.html


 
Rouse_ ©   (2004-02-09 19:42) [4]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls, Winsock;

type
 TForm1 = class(TForm)
   Button1: TButton;
   TreeView1: TTreeView;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   procedure Scan(Res: TNetResource; Root: boolean);
 end;

var
 Form1: TForm1;
 TreeDomain: TTreeNode;
 TreeServer: TTreeNode;

implementation

{$R *.dfm}

function GetIPAddress(NetworkName: String): String;
var
Error: DWORD;
HostEntry: PHostEnt;
Data: WSAData;
Address: In_Addr;
begin
 Delete(NetworkName, 1, 2);
 Error:=WSAStartup(MakeWord(1, 1), Data);
 if Error = 0 then
 begin
   HostEntry:=gethostbyname(PChar(NetworkName));
   Error:=GetLastError();
   if Error = 0 then
   begin
     Address:=PInAddr(HostEntry^.h_addr_list^)^;
     Result:=inet_ntoa(Address);
   end
   else
    Result:="Unknown";
 end
 else
   Result:="Error";
 WSACleanup();
end;

procedure TForm1.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 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
       Application.ProcessMessages;
       if Assigned(nrResource[i].lpRemoteName) then
         if nrResource[i].dwDisplayType = RESOURCEDISPLAYTYPE_DOMAIN then
           TreeDomain := TreeView1.Items.Add(nil, nrResource[i].lpRemoteName)
         else
           if nrResource[i].dwDisplayType = RESOURCEDISPLAYTYPE_SERVER then
             TreeServer := TreeView1.Items.AddChild(TreeDomain, nrResource[i].lpRemoteName + " IP: " + GetIPAddress(nrResource[i].lpRemoteName))
           else
             TreeView1.Items.AddChild(TreeServer, nrResource[i].lpRemoteName);
       Scan(nrResource[i], false);
     end;
   WNetCloseEnum(hEnum);
   end;
 end;

end;

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

end.


Желаю успехов


 
Sadretro ©   (2004-02-10 11:41) [5]

Спасибо всем!



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

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
3-1079719384
Goida
2004-03-19 21:03
2004.04.18
Остановка процедуры на сервере...


14-1080137925
Дремучий
2004-03-24 17:18
2004.04.18
Есть указатель на буфер


11-1062832055
karson
2003-09-06 11:07
2004.04.18
Не могу установить System units replacement (D6)


3-1080038604
Aleksandr
2004-03-23 13:43
2004.04.18
Как правильно связать компонент из 3 TEdit с полем DB?


3-1080150710
syte_ser78
2004-03-24 20:51
2004.04.18
Какие таблици есть в БД?