扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这个简单啦看代码吧不会加Q问 VB启用/禁用本地连接
创新互联建站是一家专注于成都做网站、网站制作与策划设计,陆良网站建设哪家好?创新互联建站做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:陆良等地区。陆良做网站价格咨询:13518219792
2009年01月19日 作者:SdBot.ck
'其实没什么说的,无非就是先找到“网络连接”这个虚拟文件夹,然后找到要控制的本地连接对应的'folderitem,然后枚举verb,找到需要的verb后,调用verb的DoIt方法,在winxp sp2 ,vb6 sp6下测试通过,代码如下:
Option Explicit
'首先引用Microsoft Shell Controls And Automation
Private Function ExcNetLinkMenu(ByVal AdapterName As String, ByVal MenuName As String) As Boolean
On Error Resume Next
Dim mShell As New Shell32.Shell
Dim NetConnection As Shell32.Folder
Dim FolderItem As Shell32.FolderItem
Dim NetConnectionItem As ShellFolderItem
Dim verb As Shell32.FolderItemVerb
Set NetConnection = mShell.NameSpace(49) '这个49是找出来的,有了它就可以避免遍历控制面板
If ObjPtr(NetConnection) = 0 Then
ExcNetLinkMenu = False
GoTo exitfunction
End If
Dim flag As Boolean
flag = False
For Each FolderItem In NetConnection.Items
If FolderItem.Name = AdapterName Then
Set NetConnectionItem = FolderItem
flag = True
Exit For
End If
Next
If flag = False Then
ExcNetLinkMenu = False
GoTo exitfunction
End If
For Each verb In NetConnectionItem.Verbs
If verb.Name = MenuName Then
flag = True
verb.DoIt
ExcNetLinkMenu = True
GoTo exitfunction
End If
Next
If flag = False Then
ExcNetLinkMenu = False
GoTo exitfunction
End If
exitfunction:
Set mShell = Nothing
Set NetConnection = Nothing
Set FolderItem = Nothing
Set NetConnectionItem = Nothing
Set verb = Nothing
End Function
Private Sub Command1_Click()
Dim flag As Boolean
'把 本地连接 2 换成你要控制的本地连接的名字
flag = ExcNetLinkMenu("本地连接 2", "停用(B)") '这个在2000下对应的是禁用,具体是什么,点右键,自己看吧
End Sub
Private Sub Command2_Click()
'把 本地连接 2 换成你要控制的本地连接的名字
Dim flag As Boolean
flag = ExcNetLinkMenu("本地连接 2", "启用(A)")
End Sub
ADODC自身大包了关闭功能,出现这样的问题,很有可能是程序在运行中途出现错误跳出,致使ADODC链接没断开。退出VB.NET重新进入,不行就只能重启了。
额,,,
那还是不要用这种方式打开EXCEL比较好。
建议还是用EXCEL对象的好。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流