如题~~
请问怎么解决?我就是要用VB 来实现PING 一台机器后 的详细信息 显示出来 但出现这个东西
请问怎么解决?我就是要用VB 来实现PING 一台机器后 的详细信息 显示出来 但出现这个东西
解决方案 »
- 请问如何限制richedit中插入的图片不能改变大小?
- 初学VB,哪有数据报表(DataReport)的使用教程?
- 怎么识别DLL是否需要注册??
- 请问,我已经设置了MSHFlexGrid的对齐方式,为什么数据没按要求对齐?
- datagrid在运行时出错!!要求我安装office!!
- 在VB6中用数表统计出数据库中某子段的值
- 怎样用VB编程控制扫描仪,存储问题?
- Excel首页不要页眉
- 求大神帮忙写:VC6 函数生成dll文件后 VB6调用
- 如何创建arj的自解压程序
- richtextbox控件用组合键ctrl+v出现重复粘贴的问题?
- 请高手帮忙,用MScomm开发串口通信时,收到的数组有问题?
正确的声明如下:
Private Const WSADESCRIPTION_LEN As Long = 257
Private Const WSASYS_STATUS_LEN As Long = 129
Private Type WSADATA
wVersion As Integer
wHighVersion As Integer
szDescription As String * WSADESCRIPTION_LEN
szSystemStatus As String * WSASYS_STATUS_LEN
iMaxSockets As Integer
iMaxUdpDg As Integer
lpVendorInfo As Long
End Type
Private Declare Function WSAStartup Lib "wsock32.dll" (ByVal wVersionRequested As Long, lpWSAData As WSADATA) As Long
Public Const WSADESCRIPTION_LEN As Long = 257
Public Const WSASYS_STATUS_LEN As Long = 129 Public Structure wsadata
Dim wversion As Integer
Dim whighversion As Integer
Dim szDescription As String
Dim szSystemStatus As String
Dim iMaxSockets As Integer
Dim iMaxUdpDg As Integer
Dim lpVendorInfo As Long
End Structure
.
.
.
Public Declare Function wsastartup Lib "wsock32.dll" (ByVal wversionreqired As Long, ByVal lpwsadata As wsadata) As Long
.
.
.
Dim wsad As wsadata
Public Function socketsinitialize() As Boolean Dim x As Integer
Dim szlobyte As String
Dim szhibyte As String
Dim szbuf As String
x = wsastartup(ws_version_reqd, wsad)
程序没什么报错 但调试的时候就会出现 DLL“wsock32.dll”中找到名为“wsastarup”的入口点 指向x = wsastartup(ws_version_reqd, wsad) 这行
wVersion As Integer
lpVendorInfo As Long
szSystemStatus As String * WSA_SysStatusSize
iMaxSockets As Integer
iMaxUdpDg As Integer
szDescription As String * WSA_DescriptionSize
wHighVersion As Integer
End Typepublic Declare Function WSAStartup _
Lib "ws2_32.dll" (ByVal wVersionRequiredas integer, _
ByRef lpWSAData As WSADATA) As Long
Dim szDescription As String
Dim szSystemStatus As String
我的代码中是这样定义的:
szDescription As String * WSADESCRIPTION_LEN
szSystemStatus As String * WSASYS_STATUS_LEN
这两个字符串的长度一定要指定,否则,WSADATA结构的长度不对,从而导致调用失败。
另外,ws2_32.dll和sock32.dll中都有这个API,声明完全一样。
Public Structure wsadata
Dim wversion As Integer
Dim whighversion As Integer
Dim szDescription(WSADESCRIPTION_LEN) As Byte 'WSADESCRIPTION_LEN为常量256+1
Dim szSystemStatus(WSASYS_STATUS_LEN) As String 'WSASYS_STATUS_LEN为常量128+1
Dim iMaxSockets As Integer
Dim iMaxUdpDg As Integer
Dim lpVendorInfo As Long
End Structure
Public Structure wsadata
Dim wversion As Integer
Dim whighversion As Integer
Dim szDescription(WSADESCRIPTION_LEN) As Byte 'WSADESCRIPTION_LEN为常量256+1
Dim szSystemStatus(WSASYS_STATUS_LEN) As Byte 'WSASYS_STATUS_LEN为常量128+1
Dim iMaxSockets As Integer
Dim iMaxUdpDg As Integer
Dim lpVendorInfo As Long
End Structure