获取计算机名用GetComputerName。
解决方案 »
- Setwindowpos类型不匹配
- 请问如何实现在自己的程序中配置机器的网络设置
- vb調用excel中checkbox控件
- 在vb中实现显示奇数阶正方形每行每列作和相同的 数字填充问题
- Access导入Sql的问题?求教
- 文本框输入乱码问题!!!能解决,送400分!!!!!
- 如何将控件(user controls)打包成CAB包?
- 【花100元买了www.emugua.net国际域名,散分!无聊勿进】
- 捉拿控件OUTLooKBar、SSActiveToolBarsPlus2.o2
- vb中如何编辑tif页面 例如删除 增加
- VB中如何调用汇编指令?
- MMControl控件(multimedia control)如何录制音频文件!
我在小聪明的VB站上找到一个源程序,是先用WNetOpenEnum 启动对网络资源进行枚举的过程,接住用WNetEnumResource来进行枚举,但程序在枚举网络中所有的域时出现的问题,源程序是
Dim tempx1 As Long
Dim tempx2 As Long
Dim hEnum As Long
Dim dNum As Long
Dim netRes As NETRESOURCE
Dim nb(2048) As Byte
dim tmpStr as String
Dim i As Long
dim iCount as Long
dCount = 0
dNum = -1
tempx1 = WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, netRes, hEnum)
tempx2 = WNetEnumResource(hEnum, dNum, nb(0), 2048)
Call WNetCloseEnum(hEnum) For i = 200 To 2047 '头200个字节是些无用的字符(我不知道这些字符是做什么用的)
If nb(i) = "0" Then
If tmpStr <> "" Then
If tmpStr <> "Microsoft Network" Then '缓冲区中会有“Microsoft Network”字样,没有用,去掉
ReDim Preserve domainArr(iCount + 1) As String '定义动态数组
domainArr(iCount) = tmpStr
iCount = iCount + 1
End If
End If
tmpStr = ""
Else
If Val(nb(i)) > 122 Then '域名是中文时
'注意:汉字在缓冲区内占两个字节,用如下的形式表示:
' 例如: 张 213 197
tmpStr = tmpStr & Chr(Val(nb(i)) * 256 + Val(nb(i + 1)))
i = i + 1 '汉字是双字节
Else
tmpStr = tmpStr & Chr(Val(nb(i)))
End If
End If
Next i程序是把LAN网内的域名都放到了nb这个数组中,但是真正有用的域名信息是从nb(17xx)开始到nb(2047),而17xx之前好象都是些没有用的信息(我猜测),如果按这个程序的方法去分析域名的话,会有找到很多乱码的域名出来,请问为什么nb中关于域名的信息要放到这么后呢?前面的那些都是些什么啊? 有没有更好的解决办法啊? 最好可以send给小弟一个源程序 [email protected]
先谢了