问题是这样的:
我的电脑上有两个连接,一个是本地连接,一个是拨号连接,要求写一个JAVA程序实现拨号连接的断开与连接操作。其作用等价手工连接、断开拨号连接

解决方案 »

  1.   

    用Runtime.getRuntime().exec("cmd /E:ON /c start xxx.exe")方法试试吧
      

  2.   

    lqhcss(孤枭) :
    有没有具体的方法呢?谢谢
      

  3.   

    用vc写一个dll:
    1.使用windowsSdk函数RasEnumConnections获取所有活动的拨号连接的信息列表
    DWORD RasEnumConnections(
      LPRASCONN lprasconn,  // buffer to receive connections data
      LPDWORD lpcb,         // size in bytes of buffer
      LPDWORD lpcConnections
                            // number of connections written to buffer
    );
    lprasconn:接收活动连接的缓冲区的指针; 
    lpcb:接收缓冲区的字节大小; 
    lpcConnections:实际的活动连接数。 
    返回值函数的返回值为0表示执行成功;不为0执行失败。2.挂断拨号连接的windowsApi函数为RasHangUp,其函数原型为: 
    DWORD RasHangUp(
      HRASCONN hrasconn   // handle to the RAS connection to hang up
    );
    HRASCONN : DWORD要挂断的拨号连接的句柄,此句柄是来源由调用函数RasEnumConnections的返回值。 
    返回值:函数的返回值为0表示执行成功;不为0执行失败。3.使用RasDial建立连接
    DWORD RasDial(
      LPRASDIALEXTENSIONS lpRasDialExtensions,
                              // pointer to function extensions data
      LPCTSTR lpszPhonebook,  // pointer to full path and filename of 
                              // phone-book file
      LPRASDIALPARAMS lpRasDialParams,
                              // pointer to calling parameters data
      DWORD dwNotifierType,   // specifies type of RasDial event handler
      LPVOID lpvNotifier,     // specifies a handler for RasDial events
      LPHRASCONN lphRasConn   // pointer to variable to receive 
                              // connection handle
    );4.在java中使用jni调用此dll
      

  4.   

    用Runtime.getRuntime().exec("xxx.exe")方法试试吧,此方法可以执行本地的exe文件,可以调用windows本身提供的断开连接的exe
      

  5.   

    congliu() :
       请问在winxp下有什么工具可以断开可连接网络呢?比如ipconfig /release  和ipconfig /renew,可是他们都不可以对拨号网络进行操作阿
      

  6.   

    Runtime.getRuntime().exec("xxx.exe") 肯定可以的.
    就一句话,即简单又有效..
      

  7.   

    lqhcss(孤枭)和 laughsmile(海边的星空) 给了一个很好的方法,可是因为我不会C++所以只好采用lqhcss(孤枭)的方法了,可是却找不到对拨号网络连接和断开的工具,请达人赐教
      

  8.   

    laughsmile(海边的星空) :
    我只是想通过java断开和连接某个拨号连接(协议是基于PPPoE),然后通过拨号连接访问部分资源,请赐教!
      

  9.   

    你试试
    netsh 
    interface 
    set interface ......看能否断开
      

  10.   

    laughsmile(海边的星空) :
    不能用,错误如下:
    此名称的接口未与路由器一起注册。
      

  11.   

    试试
    Runtime.getRuntime().exec( "Netsh interface ip set address \"你的拨号连接名\" static 你的ip地址 200.0.0.0 192.0.0.1 1");
      

  12.   

    laughsmile(海边的星空) 
       你的方法没用(Runtime.getRuntime().exec( "Netsh interface ip set address \"你的拨号连接名\" static 你的ip地址 200.0.0.0 192.0.0.1 1");

    因为Netsh只能操作非验证的网络连接,我所要求的是操作带验证(有用户名和密码)的连接,但任然非常感谢你,谢谢你对小弟的关心,同时希望你能继续寻找解决的方法,帮小弟一把!!