掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IPアドレスを設定するには? (ID:82876)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
前のレスの時に一応出来てはいたのですが、なんとなく自信が無くて。(^^; 要するにレジストリーを書き換えると言うことですが、リブートは必要ですね。 ネットワークカードのサービス名を読み取りそれをキーにIPのレジストリーを 書き換えます。 'REG_MULTI_SZ'これが結構いやらしいのですが、IPの場合はこれでいけるようです。 レジストリーを書き換える時は慎重に、自己責任でどーぞ!! 一応Win2kで確認済み、98の場合は SubKeyの’Windows NT’->'Windows'でいけると 思いますが未確認。 質問者はとっくに見てないと思いますがまあ一応。 Option Explicit Private Const KEY_QUERY_VALUE = &H1 Private Const KEY_SET_VALUE = &H2 Private Const KEY_CREATE_SUB_KEY = &H4 Private Const KEY_ENUMERATE_SUB_KEYS = &H8 Private Const KEY_NOTIFY = &H10 Private Const KEY_CREATE_LINK = &H20 Private Const KEY_ALL_ACCESS = KEY_QUERY_VALUE Or KEY_SET_VALUE Or _ KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or _ KEY_NOTIFY Or KEY_CREATE_LINK Private Const HKEY_LOCAL_MACHINE = &H80000002 Private Const REG_SZ = 1 Private Const REG_MULTI_SZ = 7 Private Declare Function RegOpenKeyEx Lib _ "ADVAPI32" Alias "RegOpenKeyExA" _ (ByVal hKey&, ByVal lpSubKey$, ByVal ulOptions&, _ ByVal samDesired&, phkhKeyHandle&) As Long Private Declare Function RegQueryValueExstr Lib _ "ADVAPI32" Alias "RegQueryValueExA" _ (ByVal hKey&, ByVal lpValueName$, ByVal lpReserved&, _ ByVal lpType&, ByVal lpData$, lpcbData&) As Long Private Declare Function RegCloseKey Lib "ADVAPI32" _ (ByVal hKey As Long) As Long Private Declare Function RegSetValueEx Lib _ "advapi32.dll" Alias "RegSetValueExA" _ (ByVal hKey As Long, ByVal lpValueName As String, _ ByVal Reserved As Long, ByVal dwType As Long, _ lpData As Any, ByVal cbData As Long) As Long Private Sub Command1_Click() Dim ServiceName As String Dim length As Long Dim Rootkey As Long Dim hKeyHandle As Long Dim SubKey As String Dim Ret As Long Dim ip As String Rootkey = HKEY_LOCAL_MACHINE 'ネットワークカード1のサービス名の取得とりあえず一枚目のみ '2枚目は\2となる SubKey = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\1" 'マシンがNT系で無い場合は下を使う 'SubKey= "SOFTWARE\Microsoft\Windows\CurrentVersion\NetworkCards\1" Ret = RegOpenKeyEx(Rootkey, SubKey, 0, 1, hKeyHandle) ServiceName = String(250, Chr(0)) length = Len(ServiceName) Ret = RegQueryValueExstr(hKeyHandle, "ServiceName", 0, 0, ServiceName, length) Call RegCloseKey(hKeyHandle) ServiceName = Left(ServiceName, length - 1) 'IPの設定 SubKey = "SYSTEM\CurrentControlSet\Services\" & ServiceName _ & "\Parameters\Tcpip" Ret = RegOpenKeyEx(Rootkey, SubKey, 0, KEY_ALL_ACCESS, hKeyHandle) ip = Trim(Text1.Text) + Chr(0) Ret = RegSetValueEx(hKeyHandle, "IPAddress", 0, _ REG_MULTI_SZ, ByVal ip, Len(ip) + 1) Call RegCloseKey(hKeyHandle) End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.