高手请进,关于 API

stewen 2001-10-31 08:57:48
用哪几个 API 可以找到机器的 IP地址和计算机名称?
...全文
89 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
znull 2001-10-31
  • 打赏
  • 举报
回复
加入这句话试试
Public Const MAX_COMPUTERNAME_LENGTH As Long = 31
stewen 2001-10-31
  • 打赏
  • 举报
回复
Public Function GetServerName() As String 返回的是空字符串,请问是怎么回
stewen 2001-10-31
  • 打赏
  • 举报
回复
我想给你分,但系统说我密码不对,等一下给你分,多谢你了
qiuwen777 2001-10-31
  • 打赏
  • 举报
回复
楼上如此辛苦,应该给分了吧。
mjs2000 2001-10-31
  • 打赏
  • 举报
回复
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
‘获得计算机的名字
Public Function GetServerName() As String
Dim s$
Dim dl&
Dim sz&
s$ = String$(MAX_COMPUTERNAME_LENGTH + 1, 0)
sz& = MAX_COMPUTERNAME_LENGTH + 1
dl& = GetComputerName(s$, sz)
GetServerName = Left(s$, sz)
End Function

获得本机多个IP(网卡可能绑定多个IP) 我是传递到ComboBox框中,你也可以传递到数组中
我的程序都通过调试了。
Public Sub GetIP(cboList As ComboBox)
Set IPConfigSet = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
("select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

For Each IPConfig In IPConfigSet

If Not IsNull(IPConfig.IPAddress) Then
For i = LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
AddList IPConfig.IPAddress(i), cboList
Next
End If
Next
End Sub
Public Sub AddList(ByVal strIP As String, cboList As ComboBox)
Dim blnIn As Boolean
Dim intCount As Integer
blnIn = False
For intCount = 0 To cboList.ListCount - 1
If UCase(strIP) = UCase(cboList.List(intCount)) Then
blnIn = True
Exit For
End If
Next
If Not blnIn Then
cboList.AddItem strIP, cboList.ListCount
End If
End Sub
stewen 2001-10-31
  • 打赏
  • 举报
回复
非常感谢
mjs2000 2001-10-31
  • 打赏
  • 举报
回复
加入我忘了把声明拷贝过来了
Public Const MAX_COMPUTERNAME_LENGTH As Long = 31
这是一个返回值
在这里可以不用

还有你返回为空是这个字符传没有定义
stewen 2001-10-31
  • 打赏
  • 举报
回复
还是不对呀?
sz& = MAX_COMPUTERNAME_LENGTH + 1
dl& = GetComputerName(s$, sz)
中的 dl&是干什么的?怎么没有用到?

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧