admin 管理员组文章数量: 1184232
首先是用ICMP检查网络是否连通:
很简单的几行代码,没有注释;
如果网络不通的话枚举拨号连接,进行拨号:
预先建立拨号连接,以上拨号代码经过修改已经不需要保存密码,只建立一个拨号连接即可。
Windows XP or later:
Do not use the
RasSetEntryDialParams
function. MSDN上面的说法就是
RasSetEntryDialParams
别在XP之后的系统上使用了。
检查拨号连接的状态,如果已经通过拨号连接上了网络当然不用再进行拨号了,代码如下:
以上判断是如果检查到有一个已经连接的拨号连接就返回了,应该不会有两个或者以上的拨号连接同时连接,打开端口会失败的。
还有一个是断线:
这个没什么好说的,执行关闭拨号连接的操作。
用程序创建连接,经过修改,已经可以正常创建连接,代码如下:
上面的代码到是可以创建一个拨号连接,不过是个空的,里面没用用户名和密码等信息,需要用上面的拨号代码来指定拨号参数,不能使用
RasGetEntryDialParams来获取了。
上面的代码基本上是在网络上搜索所得,稍加修改,在这里整理一下。
再补充一下删除连接的操作,代码如下:
要想实现自动启动拨号网络,就要使用 Remote Access Service (RAS) API,这个API最早是在Windows for Workgroup 3.11中出现的,现在它已经成为Win32 API的一个组成部分。该API将整个拨号网络称为Phonebook,而每一个连接称为PhonebookEntry。你可以使用 RasCreatePhonebookEntry来创建新的连接,用RasDial来拨号,而RasEnumEntries可以获得当前系统已有的所有连 接,使用其它的RAS函数还可以获取或设置连接的参数。
RasEditPhonebookEntry函数将激活标准的Windows 95/NT属性对话框来修改连接的属性。你可以从Win32 API的手册找到所有相关函数的详细介绍。
补充:在windows中一个拨号连接即为一个PhonrbookEntry以下称为电话薄记录或是连接。总的这些称为Phonebook。
版权声明:本文标题:拨号网络与远程访问服务API详解 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1773722257a3564961.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论