<?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=121086&amp;view=findpost&amp;p=909803</guid>
        <pubDate>Tue, 08 Nov 2005 14:31:17 +0000</pubDate>
        <title>Таблица NetBIOS-имен удаленных компьютер</title>
        <link>https://forum.sources.ru/index.php?showtopic=121086&amp;view=findpost&amp;p=909803</link>
        <description><![CDATA[Rouse_: Вот лови примерчик: <br>
<br>
<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;* Unit Name : Unit1</div><div class="code_line">// &nbsp;* Purpose &nbsp; : Демо получение информации NETBIOS именах компьютера</div><div class="code_line">// &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(аналог nbtstat -a)</div><div class="code_line">// &nbsp;* Author &nbsp; &nbsp;: Александр (Rouse_) Багель</div><div class="code_line">// &nbsp;* Version &nbsp; : 1.00</div><div class="code_line">// &nbsp;****************************************************************************</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, Classes, Graphics, Controls, Forms,</div><div class="code_line">&nbsp;&nbsp;Dialogs, Nb30, StdCtrls;</div><div class="code_line">&nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;TNetbiosInfo = record</div><div class="code_line">&nbsp;&nbsp; &nbsp;AdapterStatus: TAdapterStatus;</div><div class="code_line">&nbsp;&nbsp; &nbsp;NameBuffer: Array [0..30] of TNameBuffer;</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;Edit1: TEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Button1: TButton;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Memo1: TMemo;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure Button1Click(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure GetNetBiosNames(const Addr: String);</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">procedure TForm1.GetNetBiosNames(const Addr: String);</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;NCB: TNCB;</div><div class="code_line">&nbsp;&nbsp;Enum: TLanaEnum;</div><div class="code_line">&nbsp;&nbsp;NetbiosInfo: TNetbiosInfo;</div><div class="code_line">&nbsp;&nbsp;I, A: Integer;</div><div class="code_line">&nbsp;&nbsp;Ends: Byte;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;FillChar(NCB, SizeOf(TNCB), #0);</div><div class="code_line">&nbsp;&nbsp;NCB.ncb_command := Char(NCBENUM);</div><div class="code_line">&nbsp;&nbsp;NCB.ncb_buffer := @Enum;</div><div class="code_line">&nbsp;&nbsp;NCB.ncb_length := SizeOf(TLanaEnum);</div><div class="code_line">&nbsp;&nbsp;if Netbios(@NCB) = Char(NRC_GOODRET) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;for I := 0 to Integer(Enum.length) - 1 do</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;FillChar(NCB, SizeOf(TNCB), #0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;NCB.ncb_lana_num := Enum.lana[I];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;NCB.ncb_command := Char(NCBRESET);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if Netbios(@NCB) = Char(NRC_GOODRET) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;FillChar(NetbiosInfo, SizeOf(TNetbiosInfo), #0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;NCB.ncb_command := Char(NCBASTAT);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Move(Addr[1], NCB.ncb_callname[0], Length(Addr));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;NCB.ncb_buffer := @NetbiosInfo;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;NCB.ncb_length := SizeOf(TNetbiosInfo);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if Netbios(@NCB) = Char(NRC_GOODRET) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for A := 0 to NetbiosInfo.AdapterStatus.name_count - 1 do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Ends := Byte(NetbiosInfo.NameBuffer[A].name[NCBNAMSZ - 1]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NetbiosInfo.NameBuffer[A].name[NCBNAMSZ - 1] := #32;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Memo1.Lines.Add(Format(&#39;%s &#60;%s&#62;&#39;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[String(NetbiosInfo.NameBuffer[A].name),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IntToHex(Ends, 2)]));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</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;GetNetBiosNames(Edit1.Text);</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>
<strong class='tag-b'>Автор</strong>: <a class='tag-url' href='http://forum.sources.ru/index.php?showuser=19443' target='_blank'>Rouse_</a>]]></description>
        <author>Rouse_</author>
        <category>Интернет, сети, протоколы</category>
      </item>
	
      </channel>
      </rss>
	