编程启用或禁用本地连接这个问题,找了好久没有什么更好的办法(如果你有请一定要告诉我啊),无非是使用Shell32.dll找到“控制面板”这个虚拟文件夹,在向下遍历找到“网络连接”接着找到“本地连接”虚拟文件夹,通过模拟点击其右键菜单上的“启用”或“禁用”菜单项实现编程控制本地连接的状态,这个办法如《VB:如何启用/禁用本地连接》中所述。

Codeproject上有一篇《Toggle Network Connections》的文章提供了VB2005的类似实现方法的代码。我将其改为C#版本,具体使用该类的方法请看源代码。

注意:

1、这个类的最大问题是硬编码较多,不能自动识别系统类型,自动做出相应的判断,将硬编码改为相应的字符串。因为Win2000和WinXP等系统的虚拟文件夹、右键菜单项名称可能会有不同。识别系统类型可以使用GetVersionEx这个API实现。这里没有做相应的实现,算是抛砖引玉吧。

2、可以将这个类直接编译成Dll,直接在其它项目中使用。

3、由于我没有使用无线网络连接,故代码中相应字符串(硬编码)仍然为英文,请大家自己修改。

示例项目的界面图:


 项目(含类)下载,请点击这里(For Win2000,改为For WinXP很容易,改掉不相同的右键菜单项、虚拟文件夹名称字符串即可)

posted on 2011-08-14 15:23  freedom831215  阅读(368)  评论(0编辑  收藏  举报