VisualBasic中的MSWinsock.Winsock事件处理
时间:2020-03-06 14:38:53 来源:igfitidea点击:
我正在尝试使用以下代码来处理Winsock_Connect事件(实际上我在Excel宏中需要它):
Dim Winsock1 As Winsock 'Object type definition Sub Init() Set Winsock1 = CreateObject("MSWinsock.Winsock") 'Object initialization Winsock1.RemoteHost = "MyHost" Winsock1.RemotePort = "22" Winsock1.Connect Do While (Winsock1.State <> sckConnected) Sleep 200 Loop End Sub 'Callback handler Private Sub Winsock1_Connect() MsgBox "Winsock1::Connect" End Sub
但是,即使Winsock1.State是" Connected",它也永远不会进入Winsock1_Connect子例程。
我想使用标准的MS库,因为我没有PC上的管理权限,并且无法注册某些自定义库。
谁能告诉我,我哪里错了?
解决方案
我们是否在使用MSWinsock卡住了?
这是使用自定义winsock对象的站点/教程。
另外,我们还需要在"类"模块中声明Winsock1 WithEvents:
Private WithEvents Winsock1 As Winsock
最后,请确保我们引用了winsock ocx控件。
工具->参考->浏览->%SYSEM%\ MSWINSCK.OCX