iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#中怎么实现ADSL自动拨号
  • 958
分享到

C#中怎么实现ADSL自动拨号

2023-06-17 23:06:40 958人浏览 独家记忆
摘要

C#中怎么实现ADSL自动拨号,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C# ADSL自动拨号,前提是在系统中已经有了一个宽带拨号连接C# ADSL自动拨号调用代码:R

C#中怎么实现ADSL自动拨号,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

C# ADSL自动拨号,前提是在系统中已经有了一个宽带拨号连接

C# ADSL自动拨号调用代码:

RASDisplayras=newRASDisplay();  ras.Disconnect();//断线  ras.Connect("adsl");//拨号    usingSystem;  usingSystem.Runtime.InteropServices;  publicstructRASCONN  {  publicintdwSize;  publicIntPtrhrasconn;  [MarshalAs(UnmanagedType.ByValTStr,SizeConst=257)]  publicstringszEntryName;  [MarshalAs(UnmanagedType.ByValTStr,SizeConst=17)]  publicstringszDeviceType;  [MarshalAs(UnmanagedType.ByValTStr,SizeConst=129)]  publicstringszDeviceName;  }   [StructLayout(LayoutKind.Sequential,CharSetCharSet=CharSet.Auto)]  publicstructRasStats  {  publicintdwSize;  publicintdwBytesXmited;  publicintdwBytesRcved;  publicintdwFramesXmited;  publicintdwFramesRcved;  publicintdwCrcErr;  publicintdwTimeoutErr;  publicintdwAlignmentErr;  publicintdwHardwareOverrunErr;  publicintdwFramingErr;  publicintdwBufferOverrunErr;  publicintdwCompressionRatioIn;  publicintdwCompressionRatioOut;  publicintdwBps;  publicintdwConnectionDuration;  }  [StructLayout(LayoutKind.Sequential,CharSetCharSet=CharSet.Auto)]  publicstructRasEntryName  {  publicintdwSize;  //[MarshalAs(UnmanagedType.ByValTStr,SizeConst=(int)RasFieldSizeConstants.  RAS_MaxEntryName+1)]  publicstringszEntryName;  //#ifWINVER5  //publicintdwFlags;  //[MarshalAs(UnmanagedType.ByValTStr,SizeConst=260+1)]  //publicstringszPhonebookPath;  //#endif  }  publicclassRAS  {  [DllImport("Ra<ahrefahref="Http://dev.21tx.com/corp/sap/"target="_blank">SAPa>i32.dll",  EntryPoint="RasEnumConnectionsA",  SetLastError=true)]   internalstaticexternintRasEnumConnections  (  refRASCONNLPrasconn,//buffertoreceiveconnectionsdata  refintlpcb,//sizeinbytesofbuffer  refintlpcConnections//numberofconnectionswrittentobuffer  );    [DllImport("rasapi32.dll",CharSetCharSet=CharSet.Auto)]  internalstaticexternuintRasGetConnectionStatistics(  IntPtrhRasConn,//handletotheconnection  [In,Out]RasStatslpStatistics//buffertoreceivestatistics  );  [DllImport("rasapi32.dll",CharSetCharSet=CharSet.Auto)]  publicexternstaticuintRasHangUp(  IntPtrhrasconn//handletotheRASconnectiontohangup  );   [DllImport("rasapi32.dll",CharSetCharSet=CharSet.Auto)]  publicexternstaticuintRasEnumEntries(  stringreserved,//reserved,mustbeNULL  stringlpszPhonebook,//pointertofullpathand  //filenameofphone-bookfile  [In,Out]RasEntryName[]lprasentryname,//buffertoreceive  //phone-bookentries  refintlpcb,//sizeinbytesofbuffer  outintlpcEntries//numberofentrieswritten  //tobuffer  );   [DllImport("wininet.dll",CharSetCharSet=CharSet.Auto)]  publicexternstaticintInternetDial(  IntPtrhwnd,  [In]stringlpszConnectoid,  uintdwFlags,  refintlpdwConnection,  uintdwReserved  );   publicRAS()  {  }  }  publicenumDEL_CACHE_TYPE//要删除的类型。  {  File,//表示internet临时文件  Cookie//表示Cookie  };  publicclassRASDisplay  {  [DllImport("wininet.dll",CharSetCharSet=CharSet.Auto)]  publicstaticexternboolDeleteUrlCacheEntry(  DEL_CACHE_TYPEtype  );  privatestringm_duration;  privatestringm_ConnectionName;  privatestring[]m_ConnectionNames;  privatedoublem_TX;  privatedoublem_RX;  privateboolm_connected;  privateIntPtrm_ConnectedRasHandle;   RasStatsstatus=newRasStats();  publicRASDisplay()  {  m_connected=true;   RASlpras=newRAS();  RASCONNlprasConn=newRASCONN();   lprasConn.dwSize=Marshal.SizeOf(typeof(RASCONN));  lprasConn.hrasconn=IntPtr.Zero;   intlpcb=0;  intlpcConnections=0;  intnRet=0;  lpcb=Marshal.SizeOf(typeof(RASCONN));    nRet=RAS.RasEnumConnections(reflprasConn,reflpcb,ref  lpcConnections);  if(nRet!=0)  {  m_connected=false;  return;  }  if(lpcConnections>0)  {  //for(inti=0;i<lpcConnections;i++)  //{  RasStatsstats=newRasStats();  m_ConnectedRasHandle=lprasConn.hrasconn;  RAS.RasGetConnectionStatistics(lprasConn.hrasconn,stats);  m_ConnectionName=lprasConn.szEntryName;  intHours=0;  intMinutes=0;  intSeconds=0;  Hours=((stats.dwConnectionDuration/1000)/3600);  Minutes=((stats.dwConnectionDuration/1000)/60)-(Hours*60);  Seconds=((stats.dwConnectionDuration/1000))-(Minutes*60)  -(Hours*3600);  m_duration=Hours+"hours"+Minutes+"minutes"  +Seconds+"secs";  m_TX=stats.dwBytesXmited;  m_RX=stats.dwBytesRcved;  //}  }  else  {  m_connected=false;  }  intlpNames=1;  intentryNameSize=0;  intlpSize=0;  RasEntryName[]names=null;  entryNameSize=Marshal.SizeOf(typeof(RasEntryName));  lpSize=lpNames*entryNameSize;  names=newRasEntryName[lpNames];  names[0].dwSize=entryNameSize;  uintretval=RAS.RasEnumEntries(null,null,names,reflpSize,outlpNames);  //ifwehavemorethanoneconnection,weneedtodoitagain  if(lpNames>1)  {  names=newRasEntryName[lpNames];  for(inti=0;i<names.Length;i++)  {  names[i].dwSize=entryNameSize;  }  retval=RAS.RasEnumEntries(null,null,names,reflpSize,outlpNames);  }  m_ConnectionNames=newstring[names.Length];  if(lpNames>0)  {  for(inti=0;i<names.Length;i++)  {  m_ConnectionNames[i]=names[i].szEntryName;  }  }  }  publicstringDuration  {  get  {  returnm_connected?m_duration:"";  }  }   publicstring[]Connections  {  get  {  returnm_ConnectionNames;  }  }   publicdoubleBytesTransmitted  {  get  {  returnm_connected?m_TX:0;  }  }  publicdoubleBytesReceived  {  get  {  returnm_connected?m_RX:0;  }  }  publicstrinGConnectionName  {  get  {  returnm_connected?m_ConnectionName:"";  }  }  publicboolIsConnected  {  get  {  returnm_connected;  }  }  publicintConnect(stringConnection)  {  inttemp=0;  uintINTERNET_AUTO_DIAL_UNATTENDED=2;  intretVal=RAS.InternetDial(IntPtr.Zero,Connection,INTERNET_AUTO_DIAL_UNATTENDED,  reftemp,0);  returnretVal;  }  publicvoidDisconnect()  {  RAS.RasHangUp(m_ConnectedRasHandle);  }  }

关于C#中怎么实现ADSL自动拨号问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: C#中怎么实现ADSL自动拨号

本文链接: https://www.lsjlt.com/news/294613.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#中怎么实现ADSL自动拨号
    C#中怎么实现ADSL自动拨号,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C# ADSL自动拨号,前提是在系统中已经有了一个宽带拨号连接C# ADSL自动拨号调用代码:R...
    99+
    2023-06-17
  • ubuntu中如何实现ADSL拨号上网
    小编给大家分享一下ubuntu中如何实现ADSL拨号上网,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ADSL 在ubuntu 下拨号用ADSL拨号上网,首先需要...
    99+
    2023-06-13
  • 如何用shell实现自动adsl拨号并检测连接状况脚本
    这篇文章主要介绍“如何用shell实现自动adsl拨号并检测连接状况脚本”,在日常操作中,相信很多人在如何用shell实现自动adsl拨号并检测连接状况脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用...
    99+
    2023-06-09
  • 什么是adsl动态IP拨号服务器
    adsl动态IP拨号服务器是在VPS服务器上更换IP或在服务器上直接部署业务,adsl拨号服务器又叫动态拨号vps、动态IP vps或者拨号vps。具体内容如下:adsl拨号服务器又叫动态拨号vps、动态IP vps或者拨号vps,主要是相...
    99+
    2024-04-02
  • Vista中怎么设置拨号器自动拨号上网
    这篇文章将为大家详细讲解有关Vista中怎么设置拨号器自动拨号上网 ,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  (1)win+r输入regedit进入注册表;  (2)依次打开打开HK...
    99+
    2023-06-14
  • adsl动态IP拨号服务器是什么
    ADSL动态IP拨号服务器是一种设备或服务,用于允许用户通过ADSL技术连接到互联网。动态IP意味着用户在每次连接时都会被分配一个不...
    99+
    2024-04-09
    拨号服务器
  • 怎么用vbs实现利用ADSL拨号变ip刷投票
    小编给大家分享一下怎么用vbs实现利用ADSL拨号变ip刷投票,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!以前写过一个利用ADSL拨号变ip刷流量的vbs,只要...
    99+
    2023-06-08
  • 让Win7系统开机自动连接ADSL 让电脑开机自动ADSL拨号的方法(图文教程)
    小白的电脑每天只要开机,就需要连网,由于是ADSL的上网方式,所以每次开机后还需要手动运行“宽带连接”。小白希望他的电脑可以每次开机,进入Win7系统后,就可以自动连网,这样像QQ等需要网络才能运...
    99+
    2023-05-26
    自动拨号 自动上网 ADSL 让电脑 方法 图文 系统
  • 自动拨号服务器怎么搭建
    搭建自动拨号服务器需要以下步骤:1. 选择合适的服务器操作系统,常用的有Linux和Windows Server。2. 安装拨号软件...
    99+
    2023-06-08
    自动拨号服务器 服务器
  • windows8怎么设置开机自动拨号以简化开机手工拨号
      1、在 Metro 或传统桌面下,按键盘的“Win+X”组合热键调出快捷菜单,使用鼠标左键单击“计算机管理(G)”。如下图画面所示:   2、在弹出的计算机管理窗口,...
    99+
    2023-06-04
    win8 开机 自动拨号
  • win7实现开机自动登录并自动连接宽带拨号方法
    1、首先,我们要让win7实现自动登录 2、点“开始”找到“所有程序”中的“附件”的“运行”: 这里还有一个快捷键可以快速调...
    99+
    2023-06-03
    win7宽带自动拨号 win7开机拨号 win7自动拨号 win7自动开机 宽带 拨号 win7 方法
  • Android中怎么实现一个电话拨号器
    本篇文章给大家分享的是有关Android中怎么实现一个电话拨号器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。package com.example.phone;&n...
    99+
    2023-05-30
    android
  • css中怎样实现自动编号
    这篇文章主要为大家展示了“css中怎样实现自动编号”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css中怎样实现自动编号”这篇文章吧。   一、自动编号  ...
    99+
    2024-04-02
  • 自动拨号服务器连接失败怎么解决
    1. 检查网络连接:确保您的计算机与互联网连接正常,可以访问其他网站或服务。2. 检查服务器设置:确保您已正确配置自动拨号服务器的地...
    99+
    2023-06-08
    自动拨号服务器 服务器
  • C#中怎么实现自动化文档
    这篇文章将为大家详细讲解有关C#中怎么实现自动化文档,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C#文档自动化初步认识:在C#中文档注释对应的符号是:///。但光使用它还是不能为我们产生代...
    99+
    2023-06-17
  • Win8实现一登录就自动连接ADSL不用每次手动
      Win8实现一登录就自动连接ADSL的方法如下:   1、在Metro或传统桌面下,按键盘的“Win+X”组合热键调出快捷菜单,使用鼠标左键单击“计算机管理(G)”。 ...
    99+
    2023-06-06
    Win8 自动连接 ADSL 登录
  • 自动拨号服务器设置要注意什么
    1. 安全性:自动拨号服务器包含敏感信息,如账号密码等,必须确保服务器的安全性,防止被黑客攻击或数据泄露。2. 可靠性:自动拨号服务...
    99+
    2023-06-14
    自动拨号服务器 服务器
  • 纯CSS怎么实现markdown自动编号
    本文将为大家详细介绍“纯CSS怎么实现markdown自动编号”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“纯CSS怎么实现markdown自动编号”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体...
    99+
    2023-06-08
  • XP系统怎么设置电脑开机自动拨号连接
    这篇“XP系统怎么设置电脑开机自动拨号连接”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“XP系统怎么设置电脑开机自动拨号连接...
    99+
    2023-06-28
  • Android怎么实现简单的拨号器功能
    这篇文章给大家分享的是有关Android怎么实现简单的拨号器功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简易拨号器的制作方法,具体如下一、布局构造<RelativeLayout xmlns:...
    99+
    2023-05-30
    android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作