<?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=49370&amp;view=findpost&amp;p=325166</guid>
        <pubDate>Fri, 26 Mar 2004 13:18:52 +0000</pubDate>
        <title>Смена IP адреса</title>
        <link>https://forum.sources.ru/index.php?showtopic=49370&amp;view=findpost&amp;p=325166</link>
        <description><![CDATA[vovs: Вот вам анит. Потестите.<br>
Ошибки прошу в форум.<br>
Модернизация допускаеться.<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">{ Programmed Malomush Vladimir. Ukraine, Cherkassy vovs@neocm.com</div><div class="code_line">&nbsp;IP tools unit for set IP and Mask of network connection fo Win9X &amp; NT Platforms</div><div class="code_line">}</div><div class="code_line">unit Iptools;</div><div class="code_line">&nbsp;</div><div class="code_line">interface</div><div class="code_line">uses Windows,Registry,SysUtils, Variants, Classes,Dialogs,ShellApi;</div><div class="code_line">//-----------------------------------------------------</div><div class="code_line">&nbsp;&nbsp;var</div><div class="code_line">&nbsp;Registry1: Tregistry;</div><div class="code_line">&nbsp;Keyslist: &nbsp;Tstrings;</div><div class="code_line">&nbsp;P: Pointer;</div><div class="code_line">//Declarations-----------------------------------------</div><div class="code_line">Procedure Set_IP_AND_MASK98(IP,Mask: String);</div><div class="code_line">Procedure Set_IP_AND_MASKXP(IP,Mask: String);</div><div class="code_line">Procedure Set_IP_AND_MASK (IP,Mask: String);</div><div class="code_line">function GetWinVersion: String;</div><div class="code_line">&nbsp;</div><div class="code_line">implementation</div><div class="code_line">function GetWinVersion: String;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp; VersionInfo : TOSVersionInfo;</div><div class="code_line">&nbsp;&nbsp; OSName &nbsp; &nbsp; &nbsp;: String;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;VersionInfo.dwOSVersionInfoSize := SizeOf( TOSVersionInfo );</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; if Windows.GetVersionEx( VersionInfo ) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; with VersionInfo do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case dwPlatformId of</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VER_PLATFORM_WIN32s &nbsp; : OSName := &#39;Win32s&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VER_PLATFORM_WIN32_WINDOWS : OSName := &#39;Windows 95&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VER_PLATFORM_WIN32_NT &nbsp; &nbsp; &nbsp;: OSName := &#39;Windows NT&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end; // case dwPlatformId</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Result := OSName + &#39; Version &#39; + IntToStr( dwMajorVersion ) + &#39;.&#39; + IntToStr( dwMinorVersion ) +</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // &nbsp; &nbsp; &nbsp; &nbsp; #13#10&#39; (Build &#39; + IntToStr( dwBuildNumber ) + &#39;: &#39; + szCSDVersion + &#39;)&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Result:= OSName;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; end; // with VersionInfo</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end // if GetVersionEx</div><div class="code_line">&nbsp;&nbsp; else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result := &#39;&#39;;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">//--------- Procedure for windowsXP -------------------</div><div class="code_line">Procedure Set_IP_AND_MASKXP(IP,Mask: String);</div><div class="code_line">&nbsp;var</div><div class="code_line">&nbsp;i,NumDev: integer;</div><div class="code_line">&nbsp;p: Pchar;</div><div class="code_line">&nbsp;s: string;</div><div class="code_line">begin</div><div class="code_line">//Initialization----------------------------------------</div><div class="code_line">s:=&#39;netsh interface ip set address &quot;Подключение по локальной сети&quot; source=static addr=&#39;+IP+&#39; mask=&#39;+Mask;</div><div class="code_line">p:=pchar(s);</div><div class="code_line">WinExec( @p[0], sw_show);</div><div class="code_line">beep;</div><div class="code_line">end;</div><div class="code_line">//--------- Procedure for windows98 -------------------</div><div class="code_line">Procedure Set_IP_AND_MASK98(IP,Mask: String);</div><div class="code_line">&nbsp;var</div><div class="code_line">&nbsp;i,NumDev: integer;</div><div class="code_line">begin</div><div class="code_line">//Initialization----------------------------------------</div><div class="code_line">Keyslist:=TstringList.Create;</div><div class="code_line">Registry1:=TRegistry.Create;</div><div class="code_line">//Detect net devices------------------------------------</div><div class="code_line">Registry1.RootKey:= hkey_local_machine;</div><div class="code_line">Registry1.OpenKey(&#39;System\CurrentControlSet\Services\Class\Net&#39;,True);</div><div class="code_line">Registry1.GetKeyNames(Keyslist);</div><div class="code_line">Registry1.CloseKey;</div><div class="code_line">//Detect phisical net device-----------------------------</div><div class="code_line">&nbsp;&nbsp;For I:=0 to KeysList.Count-1 do</div><div class="code_line">&nbsp;&nbsp; Begin</div><div class="code_line">Registry1.OpenKey(&#39;System\CurrentControlSet\Services\Class\Net\&#39;+KeysList.Strings[i],True);</div><div class="code_line">If Registry1.ValueExists(&#39;IOBaseAddress&#39;)=True Then NumDev:=I;</div><div class="code_line">Registry1.CloseKey;</div><div class="code_line">&nbsp;&nbsp; End;</div><div class="code_line">//Open device &nbsp;&amp; set setings------------------------------</div><div class="code_line">Registry1.OpenKey(&#39;System\CurrentControlSet\Services\Class\NetTrans\&#39;+KeysList.Strings[NumDev],True);</div><div class="code_line">Registry1.WriteString(&#39;IPAddress&#39;,IP);</div><div class="code_line">Registry1.WriteString(&#39;IPMask&#39;,Mask);</div><div class="code_line">Registry1.CloseKey;</div><div class="code_line">//Deinitialization--------------------------------------</div><div class="code_line">Registry1.Free;</div><div class="code_line">Keyslist.Free;</div><div class="code_line">Beep;</div><div class="code_line">MessageDlg(&#39;Все изменения вступят в силу только после перезагрузки.&#39;, mtInformation, [mbOk], 0);</div><div class="code_line">end;</div><div class="code_line">Procedure Set_IP_AND_MASK (IP,Mask: String);</div><div class="code_line">var</div><div class="code_line">s: string;</div><div class="code_line">begin</div><div class="code_line">S:=GetWinVersion;</div><div class="code_line">if S=&#39;Windows 95&#39; Then Set_IP_AND_MASK98(IP,Mask);</div><div class="code_line">if S=&#39;Windows NT&#39; Then Set_IP_AND_MASKXP(IP,Mask);</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>]]></description>
        <author>vovs</author>
        <category>Интернет, сети, протоколы</category>
      </item>
	
      </channel>
      </rss>
	