form1.frm

来自「本文件包含200个visual baisc实例」· FRM 代码 · 共 185 行

FRM
185
字号
VERSION 5.00
Begin VB.Form form1 
   Caption         =   "获取、修改计算机的IP地址及子网掩码"
   ClientHeight    =   2790
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   6645
   LinkTopic       =   "Form2"
   ScaleHeight     =   2790
   ScaleWidth      =   6645
   StartUpPosition =   1  '所有者中心
   Begin VB.TextBox Text2 
      Alignment       =   2  'Center
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   14.25
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   420
      Left            =   2175
      TabIndex        =   5
      Top             =   1050
      Width           =   3600
   End
   Begin VB.CommandButton Command2 
      Caption         =   "修改"
      Enabled         =   0   'False
      Height          =   540
      Left            =   2565
      TabIndex        =   3
      Top             =   1980
      Width           =   1500
   End
   Begin VB.CommandButton Command3 
      Caption         =   "退出"
      Height          =   540
      Left            =   4170
      TabIndex        =   2
      Top             =   1980
      Width           =   1500
   End
   Begin VB.TextBox Text1 
      Alignment       =   2  'Center
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   14.25
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   420
      Left            =   2160
      TabIndex        =   1
      Top             =   480
      Width           =   3615
   End
   Begin VB.CommandButton Command1 
      Caption         =   "获取"
      Height          =   540
      Left            =   945
      TabIndex        =   0
      Top             =   1980
      Width           =   1500
   End
   Begin VB.Label Label2 
      BackStyle       =   0  'Transparent
      Caption         =   "子网掩码:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   15.75
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   420
      Left            =   675
      TabIndex        =   6
      Top             =   1110
      Width           =   1680
   End
   Begin VB.Label Label1 
      BackStyle       =   0  'Transparent
      Caption         =   "IP地址:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   15.75
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   420
      Left            =   945
      TabIndex        =   4
      Top             =   510
      Width           =   1230
   End
End
Attribute VB_Name = "form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
 Option Explicit
 Const REG_SZ As Long = 1
 Const HKEY_LOCAL_MACHINE = &H80000002

Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _
    (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _
    (ByVal hKey As Long, ByVal lpSubKey As String, phkResult 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 Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _
    (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, _
    lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long
Dim aaa As String


Private Sub Command1_Click()
Dim hKey As Long, hKey1 As Long, hKey2 As Long, ret As Long, ret1 As Long, lenData As Long, typeData As Long
Dim Name As String, name1 As String, name2 As String, s As String, S1 As String
Dim idx As Integer
idx = 0
Name = String(256, Chr(0))
RegCreateKey HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Services\Class\NetTrans", hKey
Text1.Text = hKey
Do
ret = RegEnumKey(hKey, idx, Name, Len(Name))
If ret = 0 Then
aaa = Left(Name, InStr(Name, Chr(0)) - 1)
aaa = "System\CurrentControlSet\Services\Class\NetTrans\" & aaa
ret = RegOpenKey(HKEY_LOCAL_MACHINE, aaa, hKey)
'获得IP地址
If ret = 0 Then
  name1 = "IPAddress"
  name2 = "IPMask"
   ret = RegQueryValueEx(hKey, name1, 0, typeData, ByVal vbNullString, lenData)
   s = String(lenData, Chr(0))
   RegQueryValueEx hKey, name1, 0, typeData, ByVal s, lenData
  If s <> "" Then s = Left(s, InStr(s, Chr(0)) - 1)
  '获得子网掩码
   ret1 = RegQueryValueEx(hKey, name2, 0, typeData, ByVal vbNullString, lenData)
   S1 = String(lenData, Chr(0))
   RegQueryValueEx hKey, name2, 0, typeData, ByVal S1, lenData
   If S1 <> "" Then S1 = Left(S1, InStr(S1, Chr(0)) - 1)
If Val(s) > 0 Then
   Text1.Text = s
   Text2.Text = S1
   Command2.Enabled = True
   Exit Sub
End If
End If
idx = idx + 1
End If
Loop Until ret <> 0
End Sub
Private Sub Command2_Click()
  Dim hKey As Long
     If Text1.Text <> "" Then
        RegCreateKey HKEY_LOCAL_MACHINE, aaa, hKey
'       修改IP地址
        RegSetValueEx hKey, "IPAddress", 0, REG_SZ, ByVal Text1.Text, 13
'       修改子网掩码
        RegSetValueEx hKey, "IPMask", 0, REG_SZ, ByVal Text2.Text, 13
        RegCloseKey hKey
     End If
End Sub

Private Sub Command3_Click()
  End
End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?