我有2块网卡,IP地址分别为"192.168.1.2"和"32.114.7.3",请问如何根据这2个IP地址分别“启用”或“禁用”这两块网卡?
我搜索了一下API函数
SetupDiGetClassDevs 
SetupDiEnumDeviceInfo 
SetupDiClassNameFromGuid 
SetupDiDestroyDeviceInfoList
找到的都是VC代码,好深奥,看不懂。有哪位大侠会的,希望不吝指教呀!哪怕给点提示也行。
我是菜鸟,如果有代码的话,要多给点注释呀,多谢了!

解决方案 »

  1.   

    http://topic.csdn.net/t/20051130/14/4428558.html
      

  2.   

    我看了一下一楼的代码,那个VC好像是根据网卡的特征码判断操作的,我是要根据IP地址操作呀,VC我也几乎忘了   :(
      

  3.   

    参数自己调整一下
    shell "route delete 192.168.1.2"
    shell "route add 192.168.1.2 MASK 255.255.0.0 157.55.80.5 METRIC 2 IF 2"
      

  4.   

    忘了加 cmd.exe 了shell "cmd.exe /c route delete 192.168.1.2", vbHide 
    shell "cmd.exe /c route add 192.168.1.2 MASK 255.255.0.0 157.55.80.5 METRIC 2 IF 2", vbHide
      

  5.   

    直接用命令出现错误提示:The route specified was not found 
    在VB代码中执行不起作用
      

  6.   

    不知道你的连接名称是不是固定?如果是固定的,那就直接根据连接名称来禁用或启用就行了嘛:'启用的代码:
    shell "cmd /c netsh interface set interface """ & netName & """ ""enabled"""'禁用的代码:
    shell "cmd /c netsh interface set interface """ & netName & """ ""disabled"""'netName变量就是你的网络连接名称,比如"本地连接"等.
      

  7.   

    你先到命令行用 route Print <IP地址> 的方式查看是否已经被删除了,route Add 的参数也预先 Print 输出后记录下来。
      

  8.   

    本地连接名不固定
    route delete 0.0.0.0 删除所有的路由后,PING 网关还是通的