上一篇:利用反射,实现动态调用winform窗体!! >>
取得本机IP地址的方法两则
新建工程,在工程中加入Winsock控件和一个按钮控件
代码:
Option Explicit
Private Sub Command1_Click()
MsgBox "当前计算机网卡IP:" & Winsock1.LocalIP
End Sub
方法2:(API法)
新建工程,在工程中加入一个按钮控件
代码:
Option Explicit
Private Type WSAData
wVersion As Integer
wHighVersion As Integer
szDescription(0 To 256)
szSystemStatus(0 To 128)
wMaxSockets As Integer
dwVendorInfo As Long
End Type
Private Declare Function WSAStartup Lib "WSOCK32.DLL" (ByVal wVersionRequired As Long, lpWSAData As WSAData) As Long
Private Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long
Private Declare Function gethostname Lib "WSOCK32.DLL" (ByVal szHost As String, ByVal dwHostLen As Long) As Long
Private Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal szHost As String) As Long
Private Declare Sub CopyMemoryIP Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
Private Function GetIPAddress() As String
On Error GoTo Z
Dim wsa As WSAData
Dim rVal As Long
Dim sHost As String * 256
Dim lp As Long
Dim lpa As Long
Dim IpAdr(0 To 3) As Byte
rVal = WSAStartup((2 + &H100), wsa)
If rVal = 0 Then
gethostname sHost, 256
lp = gethostbyname(sHost)
If lp Then
CopyMemoryIP lpa, lp + 16, 4
CopyMemoryIP IpAdr(0), lpa, 4
GetIPAddress = CStr(IpAdr(0)) & "." & CStr(IpAdr(1)) & "." & CStr(IpAdr(2)) & "." & CStr(IpAdr(3))
End If
WSACleanup
End If
Exit Function
Z:
GetIPAddress = ""
End Function
Private Sub Command1_Click()
Dim ret As String
ret = GetIPAddress
If ret <> "" Then
MsgBox "当前计算机网卡IP:" & ret
End If
End Sub
下一篇:反射应用之一:根据控件名、属性名进行取值和赋值 >>
相关文章:
- · 设计ASP.NET新闻管理系统
- · asp.net 实现“九连环”小游戏
- · 将Word文档转化为HTML格式的文档
- · 保存美丽记忆 用ASP.NET创建网络相册
- · ASP.NET中利用Crystal Report创建图表
- · 几个很不错的.NET 相关的FAQ和例子代码的连接
- · net应用程序如何批上XP的外衣?
- · 用.net中的socket实现文件传输
- · .NET Framework 中多语言支持的实现
- · weblogin类--简介(一)
- · .Net中如何操作IIS
- · 在.NET中调用存储过程
- · 收集了一些小技巧的连接 (.NET)
- · 使用CodeDom来生成.cs文件
- · 一次重构导向设计模式的实践(.NET)
- · 在设计期跟踪代码 (.NET)
- · 编译自己的资源文件编辑器(reseditor.exe)
- · .net辅助工具列表
- · .NET 2.0 基础类库中的范型——其他范型类
- · .NET 2.0 基础类库中的范型——Functional Programming
- · .NET 2.0 基础类库中的范型——范型集合
- · .NET 下的remoting使用。(TCP通道)
- · .NET系统学习----Globalization & Resources
- · CLR 调试接口的架构与应用 [3] 调试事件
- · CLR 调试接口的架构与应用 [2] 调试框架
- · .net事务处理并发性处理的意义(此文仅适合入门者阅读)
- · 在.Net1.2中对Xquery的支持
- · 第十五章 接口[《.net框架程序设计》读书笔记]
- · 第十四章 数组[《.net框架程序设计》读书笔记]
- · 第十三章 枚举类型与位标记[《.net框架程序设计》读书笔记]
- · 第十二章 委托[《.net框架程序设计》读书笔记]
- · 第十一章 事件[《.net框架程序设计》读书笔记]
- · 第十章 属性[《.net框架程序设计》读书笔记]
- · 第九章 方法[《.net框架程序设计》读书笔记]
- · 第八章 常数与字段[《.NET框架程序设计》读书笔记]
- · 第七章 类型成员及其访问限定[《.NET框架程序设计》读书笔记]
- · 手工修改动网新闻.net3.0的Bug
- · .net的MSMQ异步调用
