<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=78126&amp;view=findpost&amp;p=567417</guid>
        <pubDate>Thu, 06 Jan 2005 20:49:58 +0000</pubDate>
        <title>Получение IP адресов всех компьютеров</title>
        <link>https://forum.sources.ru/index.php?showtopic=78126&amp;view=findpost&amp;p=567417</link>
        <description><![CDATA[Rouse_: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">////////////////////////////////////////////////////////////////////////////////</div><div class="code_line">//</div><div class="code_line">// &nbsp;Демонстрационная программа сканирования сети на основе</div><div class="code_line">// &nbsp;WNetOpenEnum, WNetEnumResource, WNetCloseEnum</div><div class="code_line">//</div><div class="code_line">// &nbsp;Автор: Александр (Rouse_) Багель</div><div class="code_line">// &nbsp;mailto:rouse79@yandex.ru</div><div class="code_line">//</div><div class="code_line">// &nbsp;Специально для форумов Мастера Дельфи и Исходники.RU</div><div class="code_line">// &nbsp;http://www.delphimaster.ru</div><div class="code_line">// &nbsp;http://forum.sources.ru</div><div class="code_line">//</div><div class="code_line">&nbsp;</div><div class="code_line">unit Unit1;</div><div class="code_line">&nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;</div><div class="code_line">uses</div><div class="code_line">&nbsp;&nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,</div><div class="code_line">&nbsp;&nbsp;Dialogs, StdCtrls, ComCtrls, Winsock, ImgList, ShellAPI;</div><div class="code_line">&nbsp;</div><div class="code_line">const</div><div class="code_line">&nbsp;&nbsp;STR_START &nbsp; &nbsp;= &nbsp;&#39;Начать сканирование&#39;;</div><div class="code_line">&nbsp;&nbsp;STR_STOP &nbsp; &nbsp; = &nbsp;&#39;Остановить сканирование&#39;;</div><div class="code_line">&nbsp;&nbsp;STR_STARTED &nbsp;= &nbsp;&#39; &nbsp; Идет сканирование ...&#39;;</div><div class="code_line">&nbsp;&nbsp;STR_STOPPED &nbsp;= &nbsp;&#39; &nbsp; Сканирование завершено ...&#39;;</div><div class="code_line">&nbsp;&nbsp;STR_END &nbsp; &nbsp; &nbsp;= &nbsp;&#39; &nbsp; Завершение потока ...&#39;;</div><div class="code_line">&nbsp;&nbsp;STR_FIELD &nbsp; &nbsp;= &nbsp;&#39; &nbsp; Поле не выбрано ...&#39;;</div><div class="code_line">&nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;TDemoThread = class(TThread)</div><div class="code_line">&nbsp;&nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;TreeNetWrk: TTreeNode;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TreeDomain: TTreeNode;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TreeServer: TTreeNode;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TreeShares: TTreeNode;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Param_dwType: Byte;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Param_dwDisplayType: Byte;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Param_lpRemoteName: String;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Param_lpIP: String;</div><div class="code_line">&nbsp;&nbsp;protected</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure Execute; override;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure Scan(Res: TNetResource; Root: boolean);</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure AddElement;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure Stop;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;TForm1 = class(TForm)</div><div class="code_line">&nbsp;&nbsp; &nbsp;Button1: TButton;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TreeView1: TTreeView;</div><div class="code_line">&nbsp;&nbsp; &nbsp;StatusBar1: TStatusBar;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ImageList1: TImageList;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure Button1Click(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure TreeView1Click(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure FormCreate(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure TreeView1DblClick(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;Thread: TDemoThread;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;Form1: TForm1;</div><div class="code_line">&nbsp;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;</div><div class="code_line">{$R *.dfm}</div><div class="code_line">&nbsp;</div><div class="code_line">function GetIPAddress(NetworkName: String): String;</div><div class="code_line">var</div><div class="code_line">&nbsp;Error: DWORD;</div><div class="code_line">&nbsp;HostEntry: PHostEnt;</div><div class="code_line">&nbsp;Data: WSAData;</div><div class="code_line">&nbsp;Address: In_Addr;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Delete(NetworkName, 1, 2);</div><div class="code_line">&nbsp;&nbsp;Error:=WSAStartup(MakeWord(1, 1), Data);</div><div class="code_line">&nbsp;&nbsp;if Error = 0 then</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;HostEntry:=gethostbyname(PChar(NetworkName));</div><div class="code_line">&nbsp;&nbsp; &nbsp;Error:=GetLastError;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Error = 0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Address:=PInAddr(HostEntry^.h_addr_list^)^;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result:=inet_ntoa(Address);</div><div class="code_line">&nbsp;&nbsp; &nbsp;end</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; Result:=&#39;Unknown&#39;;</div><div class="code_line">&nbsp;&nbsp;end</div><div class="code_line">&nbsp;&nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp;Result:=&#39;Error&#39;;</div><div class="code_line">&nbsp;&nbsp;WSACleanup;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">{ TDemoThread }</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TDemoThread.Execute;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;R:TNetResource;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;inherited;</div><div class="code_line">&nbsp;&nbsp;Priority := tpIdle;</div><div class="code_line">&nbsp;&nbsp;FreeOnTerminate := True;</div><div class="code_line">&nbsp;&nbsp;Resume;</div><div class="code_line">&nbsp;&nbsp;Scan(R, True);</div><div class="code_line">&nbsp;&nbsp;TreeDomain := nil;</div><div class="code_line">&nbsp;&nbsp;TreeServer := nil;</div><div class="code_line">&nbsp;&nbsp;Synchronize(Stop);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TDemoThread.Scan(Res: TNetResource; Root: boolean);</div><div class="code_line">var</div><div class="code_line">&nbsp;hEnum: Cardinal;</div><div class="code_line">&nbsp;nrResource: array[0..512] of TNetResource;</div><div class="code_line">&nbsp;dwSize: DWORD;</div><div class="code_line">&nbsp;numEntries: DWORD;</div><div class="code_line">&nbsp;I: DWORD;</div><div class="code_line">&nbsp;dwResult: DWORD;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if Root then</div><div class="code_line">&nbsp;&nbsp; &nbsp;dwResult := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;0, nil, hEnum)</div><div class="code_line">&nbsp;&nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp;dwResult := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;0, @Res, hEnum);</div><div class="code_line">&nbsp;&nbsp;if dwResult = NO_ERROR then</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;dwSize := SizeOf(nrResource);</div><div class="code_line">&nbsp;&nbsp; &nbsp;numEntries := DWORD(-1); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ERROR_NO_MORE_ITEMS</div><div class="code_line">&nbsp;&nbsp; &nbsp;if WNetEnumResource(hEnum, numEntries, @nrResource, dwSize) = NO_ERROR then</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;for i := 0 to numEntries - 1 do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if Terminated then Break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;with nrResource[i] do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Param_dwType := dwType;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Param_dwDisplayType := dwDisplayType;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Param_lpRemoteName := lpRemoteName;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if Param_dwDisplayType = RESOURCEDISPLAYTYPE_SERVER then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Param_lpIP := GetIPAddress(Param_lpRemoteName);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if Assigned(nrResource[i].lpRemoteName) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Synchronize(AddElement);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Scan(nrResource[i], false);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;WNetCloseEnum(hEnum);</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TDemoThread.AddElement;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Application.ProcessMessages;</div><div class="code_line">&nbsp;&nbsp;case Param_dwDisplayType of</div><div class="code_line">&nbsp;&nbsp; &nbsp;RESOURCEDISPLAYTYPE_NETWORK:</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TreeNetWrk := Form1.TreeView1.Items.Add(nil, Param_lpRemoteName);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TreeNetWrk.StateIndex := 1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;RESOURCEDISPLAYTYPE_DOMAIN:</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TreeDomain := Form1.TreeView1.Items.AddChild(TreeNetWrk, Param_lpRemoteName);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TreeDomain.StateIndex := 2;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;RESOURCEDISPLAYTYPE_SERVER:</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TreeServer := Form1.TreeView1.Items.AddChild(TreeDomain, Param_lpRemoteName + &#39; IP: &#39; + Param_lpIP);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TreeServer.StateIndex := 3;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;RESOURCEDISPLAYTYPE_SHARE:</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TreeShares := Form1.TreeView1.Items.AddChild(TreeServer, Param_lpRemoteName);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TreeShares.StateIndex := 3 + Param_dwType;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TDemoThread.Stop;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Form1.StatusBar1.Panels[1].Text := STR_STOPPED;</div><div class="code_line">&nbsp;&nbsp;Form1.Button1.Caption := STR_START;</div><div class="code_line">&nbsp;&nbsp;Form1.Button1.Enabled := True;</div><div class="code_line">&nbsp;&nbsp;Form1.Tag := 0;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">{ TForm1 }</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.FormCreate(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Tag := 0;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.Button1Click(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Tag := Tag + 1;</div><div class="code_line">&nbsp;&nbsp;if (Tag mod 2) = 1 then</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;TreeView1.Items.Clear;</div><div class="code_line">&nbsp;&nbsp; &nbsp;StatusBar1.Panels[1].Text := STR_STARTED;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Button1.Caption := STR_STOP;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Thread := TDemoThread.Create(False);</div><div class="code_line">&nbsp;&nbsp;end</div><div class="code_line">&nbsp;&nbsp;else</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;StatusBar1.Panels[1].Text := STR_END;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Button1.Enabled := False;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Thread.Terminate;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.TreeView1Click(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if Assigned(TreeView1.Selected) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;StatusBar1.Panels[0].Text := &#39; &nbsp; &#39; + TreeView1.Selected.Text</div><div class="code_line">&nbsp;&nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp;StatusBar1.Panels[0].Text := STR_FIELD;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.TreeView1DblClick(Sender: TObject);</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;Str: String;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if Assigned(TreeView1.Selected) then</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;Str := TreeView1.Selected.Text;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Copy(Str, 1, 2) &#60;&#62; &#39;\&#39; then Exit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Pos(&#39; IP:&#39;, Str) &#60;&#62; 0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ShellExecute(Handle, &#39;explore&#39;, PChar(Copy(Str, 1, Pos(&#39; IP:&#39;, Str))), nil, nil, SW_SHOW)</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ShellExecute(Handle, &#39;explore&#39;, PChar(Str), nil, nil, SW_SHOW);</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">end.</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
Проект также доступен по следующему адресу: http://rouse.front.ru/netscan.zip]]></description>
        <author>Rouse_</author>
        <category>Интернет, сети, протоколы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=78126&amp;view=findpost&amp;p=562873</guid>
        <pubDate>Sun, 02 Jan 2005 09:03:02 +0000</pubDate>
        <title>Получение IP адресов всех компьютеров</title>
        <link>https://forum.sources.ru/index.php?showtopic=78126&amp;view=findpost&amp;p=562873</link>
        <description><![CDATA[Song: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var </div><div class="code_line">&nbsp;&nbsp;Computer: array[1..500] of string[25]; </div><div class="code_line">&nbsp;&nbsp;ComputerCount: Integer; </div><div class="code_line">&nbsp;</div><div class="code_line">procedure FindAllComputers(Workgroup: string); </div><div class="code_line">var </div><div class="code_line">&nbsp;&nbsp;EnumHandle: THandle; </div><div class="code_line">&nbsp;&nbsp;WorkgroupRS: TNetResource; </div><div class="code_line">&nbsp;&nbsp;Buf: array[1..500] of TNetResource; </div><div class="code_line">&nbsp;&nbsp;BufSize: Integer; </div><div class="code_line">&nbsp;&nbsp;Entries: Integer; </div><div class="code_line">&nbsp;&nbsp;Result: Integer; </div><div class="code_line">begin </div><div class="code_line">&nbsp;&nbsp;ComputerCount := 0; </div><div class="code_line">&nbsp;&nbsp;Workgroup := Workgroup + #0; </div><div class="code_line">&nbsp;&nbsp;FillChar(WorkgroupRS, SizeOf(WorkgroupRS), 0); </div><div class="code_line">&nbsp;&nbsp;with WorkgroupRS do </div><div class="code_line">&nbsp;&nbsp; &nbsp;begin </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;dwScope := 2; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;dwType := 3; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;dwDisplayType := 1; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;dwUsage := 2; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;lpRemoteName := @Workgroup[1]; </div><div class="code_line">&nbsp;&nbsp; &nbsp;end; </div><div class="code_line">&nbsp;&nbsp;WNetOpenEnum(RESOURCE_GLOBALNET, </div><div class="code_line">&nbsp;&nbsp; &nbsp;RESOURCETYPE_ANY, </div><div class="code_line">&nbsp;&nbsp; &nbsp;0, </div><div class="code_line">&nbsp;&nbsp; &nbsp;@WorkgroupRS, </div><div class="code_line">&nbsp;&nbsp; &nbsp;EnumHandle); </div><div class="code_line">&nbsp;&nbsp;repeat </div><div class="code_line">&nbsp;&nbsp; &nbsp;Entries := 1; </div><div class="code_line">&nbsp;&nbsp; &nbsp;BufSize := SizeOf(Buf); </div><div class="code_line">&nbsp;&nbsp; &nbsp;Result := </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;WNetEnumResource(EnumHandle, </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Entries, </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;@Buf, </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;BufSize); </div><div class="code_line">&nbsp;&nbsp; &nbsp;if (Result = NO_ERROR) and (Entries = 1) then </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Inc(ComputerCount); </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Computer[ComputerCount] := StrPas(Buf[1].lpRemoteName); </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end; </div><div class="code_line">&nbsp;&nbsp;until (Entries &#60;&#62; 1) or (Result &#60;&#62; NO_ERROR); </div><div class="code_line">&nbsp;&nbsp;WNetCloseEnum(EnumHandle); </div><div class="code_line">end; { Find All Computers }</div></ol></div></div></div></div>]]></description>
        <author>Song</author>
        <category>Интернет, сети, протоколы</category>
      </item>
	
      </channel>
      </rss>
	