说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在DELPHI程序中拨号上网

HTML文档下载 WORD文档下载 PDF文档下载
在DELPHI程序中拨号上网

用MODEM拨号上网,仍是大多数个人网民选择上网的方式.如果能在我们的应用程序中启动拨号连接(如IE浏览器程序中的自动拨号功能),无疑将会方便我们的软件用户(不用再切换应用程序,运行拨号网络),提高我们的软件的友好性从而提高软件的竞争力.

在WIN9X下,如果安装了拨号网络,则在WINDOWS系统的系统目录System下将有两个拨号网络管理程序库RasApi32.DLL和RasApi16.DLL,我们可利用其中的函数来创建、修改拨号连接,并利用指定的拨号连接进行拨号上网。

一、新建拨号连接

当WIN9X系统中已经建立了拨号连接,则可利用现成的拨号连接。如果没有拨号连接,则需要新建一个拨号连接。RasAPI中提供了相应的函数,其函数名为RasCreatePhonebookEntryA,函数原型为:

function RasCreatePhonebookEntryA( hwnd : THandle;lpszPhonebook: pchar ) : DWORD;

stdcall; { 位于interface部分 }

function RasCreatePhonebookEntryA ; external ’Rasapi32.dll’;{ 位于implementation部分 }

参数:

hwnd(THandle):新建拨号连接窗口的父窗口的句柄,可以为TForm的Handle,为NIL表;Windows桌面(DeskTop)

lpszPhonebook(pchar):电话本名称

在Win9X下无作用

可设为空字符串

函数返回值:

0表示执行成功;否则为错误.

下面是一个新建拨号连接的例子.

{ 新建拨号连接 }

procedure TForm1.Button1Click(Sender: TObject);

var

dwResult : DWORD;

begin

//在当前窗口中新建拨号连接

dwResult := RasCreatePhonebookEntryA( handle

’’ );

if dwResult = 0 then

memo1.lines.add(’新建拨号连接成功!’)

else

memo1.lines.add(’新建拨号连接失败!’)

end;

二、修改指定拨号连接的属性

如果用户需要修改拨号连接的属性如电话号码、国家及区号、连接方式、服务器类型等,可以用RasAPI函数来实现,其函数名为RasEditPhonebookEntryA,函数原型为:

function RasEditPhonebookEntryA( hwnd : THandle; lpszPhonebook: pchar;

lpszEntryName: pchar ) : DWORD;stdcall; { 位于interface部分 }

function RasEditPhonebookEntryA; external ’Rasapi32.dll’;{ 位于implementation部分 }

参数:

hwnd(THandle):新建拨号连接窗口的父窗口的句柄,可以为TForm的Handle,为NIL表示

Windows桌面(DeskTop)

lpszPhonebook(pchar):电话本名称

在Win9X下无作用

可设为空字符串

lpszEntryName:( pchar):要修改的拨号连接的名称,如’163’、’169’等

函数返回值:

0表示执行成功;否则为错误.

下面是一个修改指定拨号连接属性的例子.

{ 修改指定拨号连接属性 }

procedure TForm1.Button2Click(Sender: TObject);

var

dwResult : DWORD;

strDialName : string;

begin

strDialName := ’163’;//拨号连接的名称设为163

//在当前窗口中指定修改拨号连接的属性

dwResult := RasEditPhonebookEntryA( handle

’’

PChar( strDialName ) );

if dwResult = 0 then

memo1.lines.add(’修改拨号连接’ + strDialName + ’成功!’)

else

memo1.lines.add(’修改拨号连接’ + strDialName + ’失败!’)

end;

三、获取当前系统中可用的拨号连接名称

为了让用户选择使用拨号连接进行拨号,我们需要获取系统中已建立的拨号连接的名称。在建立了拨号连接后,WIN9X将拨号连接的名称和属性写在了注册表中,我们可以从注册表中获取当前系统中可用的拨号连接名称及在Internet Explorer中设置的默认连接名称。

在注册表的HKEY_USERS\.Default\RemoteAccess\Addresses下,列出了已经在拨号网络中建立了的拨号连接的名称及其属性设置,其中各项目的名称即为可用的拨号连接的名称;各项目的值即为各拨号连接的属性设置.我们只要读出各项目的名称即可获取当前系统中可用的拨号连接名称.

如果在Internet Explorer中设置了默认连接名称(查看=》Internet选项=》连接=》连接=》设置=》使用以下拨号网络连接),则在注册表的HKEY_USERS\.Default\RemoteAccess下,有一个字符串类型的键值,键值名InternetProfile,其值即为Internet Explorer中设置的默认连接名称。

下面是一个获取当前系统中可用的拨号连接名称的例子.

{ 注意在Uses中增加Registry单元,用于操作注册表 }

{ 获取当前系统中可用的拨号连接名称 }

procedure TForm1.Button3Click(Sender: TObject);

var

registryTemp : TRegistry;

stringsTemp : TStringlist;

intIndex : integer;

begin

registryTemp := TRegistry.Create;

stringsTemp := TStringlist.Create;

with registryTemp do

begin

RootKey := HKEY_USERS;//根键设置为HKEY_USERS

//如果存在子键.Default\RemoteAccess\Addresses

if OpenKey(’.Default\RemoteAccess\Addresses’

false) then

GetValueNames( stringsTemp );//读出各项目的名称,即拨号连接名称

CloseKey;

end;

//当前系统中可用的拨号连接

memo1.lines.add( ’******************当前系统中有’+ IntToStr( stringsTemp.count )

+’个可用的拨号连接如下****************’);

for intIndex := 0 to stringsTemp.count - 1 do

memo1.lines.add( stringsTemp.strings[ intIndex ] );

//列出Internet Explorer中设置的默认连接名称

if registryTemp.OpenKey(’.Default\RemoteAccess’

false) then

memo1.lines.add( ’Internet Explorer中设置的默认连接名称为’ +

registryTemp.ReadString(’InternetProfile’) );

//释放内存

registryTemp.free;

stringsTemp.free;

end;

四、用指定的拨号连接拨号

以上的三个工作的目的就是为了拨号上网,现在就来看看如果用指定的拨号连接拨号上网。最好的方法就是调用WIN9X的拨号网络服务了,就是运行WIN9X下的现成程序。

在Delphi程序中可以用如下代码实现拨号上网:

winexec(’rundll32.exe rnaui.dll

RnaDial 163’

SW_SHOWNORMAL);

其中字符串中的最后一个参数“163”为拨号连接的名称。

下面是一个用指定的拨号连接拨号上网的例子.

{ 用指定的拨号连接拨号上网 }

procedure TForm1.Button4Click(Sender: TObject);

var

strDialName : string;

begin

strDialName := ’163’;//拨号连接的名称设为163

memo1.lines.add( ’******************用拨号连接’+ strDialName

+’实现拨号上网****************’);

winexec( PChar(’rundll32.exe rnaui.dll

RnaDial ’ + strDialName)

SW_SHOWNORMAL);

end;

以上程序在PWIN98+Delphi3.0下调试通过。

Apple将在2013年启动香港数据中心的建设 顶级域名扩张受阻:ICANN透露部分域名存争议 硅谷创业教父Paul Graham:如何获得创业好点子? GDC2012特别报道:中西方游戏开发思想在这里融合 应用示例和对象是编程的未来吗? 为什么2012年HTML5发展远未达预期 当程序不再工作时,程序员说 独立游戏开发者易犯的9大致命错误 “Do Not Track”的前世今生 《Warcraft是怎样炼成的(三)》:从Demo到游戏 无限强大的超级马里奥AI 以Google第二代数据库产品MegaStore为理论模式 探索HBase系统 传Google明年推Chrome OS触摸屏上网本 下载自己过去的Tweets?用户准备好了吗? 微软任命研究部门新副总裁 负责北京等实验室 欧朋首席标准官:HTML5将在2014年成熟 开发利器:对游戏开发者最具价值的5类iOS应用 专访前IE浏览器内核研发工程师,带你深入了解IE10 Windows 8市场接纳速度慢于Windows 7 别只看下载量!“用户留存率”才是关键! 预计2020年出现百亿亿次级超级计算机 Google数据中心PUE的秘密 一个传奇:有个人不断赢得世界算法冠军 音乐能力开放平台合作探索之旅 社交网络海外营销技巧及工具实战 大数据谬误 —— 为什么我们需要收集更多的数据 传苹果地图负责人Rich Williamson遭解雇? 一个月:Windows 8授权许可已破四千万 里程碑:iPhone与Android企业用户市场首次超过黑莓 VMware最快下周宣布分拆Cloud Foundry 国际原子能机构服务器遭窃 百多位专家信息泄密 微软,我该如何跟随你?(来讨论一下,没分送哦) 关于Request的问题 向高手请教一些专业网址! 网络IP前后不一样 如何查看csdn的精华帖子? [原创]VC#.NET:XML代码注释在智能感应中的使用 怎样在WIN98下不重新启动就可以删除打印处理器文件? 批量复制数据问题,access数据库 在页面中现实数据库的一个字段(大量的文本),用什么最好?? 一些问题,希望大家给点指点! 谁有那种实现股票走势图/趋势图的那种控件 如何控制随意修改个人IP地址 如何叠加两幅大小相等的图片成为一幅图片?其中上面的图片有透明的部分。 请教一个小小的时钟程序 爱情?亲情?友情? COM+问题 请问有关group by,并且insert数据的问题. 如何设置edit中的内容自动折行,能出现垂直滚动条???在线等待!!! 关于在DLL中使用Mscom控件的问题 如何將字符串以十六進制的形式顯示在Edit中 关于SOCK5代理服务器的第二次协商问题? 为什么oracle的sql语句的表名必须加“”??? 谁能解决工具条中的一问题?50分相送 ##### 100分求教:如何实现框架集下页面的定向输出?##### 菜单菜单!!! 如何用Schema验证XML文档 JSP中jsp文件和bean的class文件的相对位置是怎么样啊? excel中的两个问题:1、如何关闭userForm1窗口?2、如何在打开userForm1窗口时使主窗口最小化? Dll函数问题 咋判断用户点的四点能围成一个四边形? 网站中的某一页嵌入VB的AtiveX 控件,客户端能访问网站,但不能打开AtiveX控件。。。高分 请问怎么把 string 型转换成 System.Data.SqlDbType 型? 机器无法启动 主板有问题吗 高分请教 创建不了C#Web项目,急!!!(刚学C#) [求助] 用fopen函数读不出URL文件? 怎么判断listview是否有一个item被选中? 请说一下硬盘容量和内存容量的关系! ▄▅▆▇█ 水园的大背景离不开吵架 █▇▆▅▄ 请教mm有个问题! linux下的编程问题 以Oracle为例说明如何通过ODBC将数据库中的指定表导出到MDB数据库。(原创) 关于一种特殊按钮 SQL语句小问题!!在线等待! 想学ColdFusion 请看我的转载的贴子 Troj_Hacline.A是什么病毒? 关于XML的问题,150分赠送,急 dll问题。很简单。 感慨!!!(潜水一年,吐个泡,顺便发表一点意见) 帮个忙 怎么在Installshield中创建对话框,并操作ACCESS数据库? 嗯啊称赞的反义词是什么 有哪些现象可以说名地球是圆的? 氨气显什么酸碱性? 求描写古代院落的段落要写的唯美,要有秋天的元素,不要含人物的 能通过日常现象看出地球是圆的吗? 什么是广义勾股定理? 光栅折射率的最大变化量怎么算这个知识点是对于均匀正弦分布的光纤光栅而言的,希望有懂这方面的帮我下,感激不尽 段文写T或F 明治维新成功最重要原因是什么 ----------------,百般红紫斗芳菲. 的前半句 30岁未婚男人心理认识了一个30岁的未婚男,是个白羊.觉得不错可是却不知道怎么交往,苦恼.他总是不愠不火的,猜不透他在想什么.我不了解这个年龄的人在想什么(他70后我80后,不过没什么大 明治维新成功最主要原因 折射率怎么求 看看这篇段文怎么做动物的奇特语言(1)人类的信息交流离不开语言.那么,动物有没有“语言”呢?常言说:“人有人言,兽有兽语.”所谓动物的“语言”,一般是指同一种动物之间为了种群的 关于周长和面积和体积的各形状的计算公式以及定理 祤 字的全拼怎么打 麻烦你把这个字的拼音打出来! 这篇阅读段文怎样做? 半圆的周长与面积,公式是什么,原理是什么? 这个字全拼怎打?言字旁,右边是个念字怎打出来的? NBA这个词的全拼 明治维新成功的原因是什么 请问这个字念什么啊?——(丼)用全拼打出来的. 完成段文 综合明治维新成功的原因要结合相关史实 电子商务是什么啊?它现在有定义吗?现在也不知道? ABC干粉灭火器有2、4、8、30、35公斤的 还有多少公斤的? REACH法规,有毒有害物质化学检测 南京瑞旭竭诚欢迎你 025-58390414? 否字用全拼怎么打 天体视运动和天体周日视运动的该怎么理解 根据实验测定;高度每增加一千米,气温大约降低六度.某登山运动员在攀登珠穆拉马蜂地途中发回信息,报告它所在的气温为-15°c,如果当时的地面温度是三°c登山运动员所在的位置的高度能确 嫂字全拼怎么打 熊的分类…? 若把一张厚0.1毫米的人民日报连续对折32次,它的高度可以和珠穆拉马蜂的高度8844米还高相信或不相信说明理 电饭锅功率不一样磁钢是否也不同我有一个1800瓦的电饭锅,还有一个800瓦的电饭锅,它们的磁钢是否能通用,磁钢是否也分功率大小? 公理与公设的区别 人体什么东西含水最多啊 雾字全拼怎么打 公设公理是一个意思吗? 世界上什么东西真正的不含水? 电饭煲磁钢的接触点根本看不见,怎么能处理触点呢? Bear/小熊 JSQ-A30A2 超声波静音空气加湿器评价高吗 特斯拉线圈能当微波炉用吗,也就是说它可以加热含水的东西吗? 街字用全拼分开成3个字怎么打 地球可以打穿吗? 为什么男人压力那么大? 修字的全拼怎么打 地质勘探能把地球打穿吗 以三角形的两边AC,AB为边向外做正方形ACDE和正方形ABGF,M为BC的中点,求证:AM垂直EF 电子商务刷.单.有知道的么?我们不仅要学会欣赏,还要学会接受别人的欣赏.任何事物都是两面的,我们切忌“捧杀”!伤仲永的故事不就是不会接受欣赏的恶果吗?现在也有许多神童被埋没的教 打穿地球地球是悬在宇宙中的我们通常去外太空是从地上起飞到外太空,那我们把地球打一个对穿的洞的话会不会可能从这个洞中也能到外太空呢 如图15-1分别以△ABC的边AB、AC为边做正方形ABGF和正方形ACDE,连接AG、AD,为AG中点,M喂AD中点,K为BC中分别以△ABC的边AB、AC为边做正方形ABGF和正方形ACDE,连接AG、AD,N为AG中点,M为AD中点,K为BC中 电饭锅感温磁钢和外壳由弹簧支撑,在按钮未按下时,弹簧是原长还是压缩? 日本的明治维新是在什么样的口号下记进行的? 20.如图,分别以△ABC的边AB、AC为边作正方形ABGF和正方形ACDE,连接AG、AD,N为AG中点,M为AD中点,K为BC 线段AB上有两点M,N.M平分AB.AM:BM=5:11,AN:BN=5:7,求AB 日本明治维新成功的原因是什么? 与桃花有关的典故就是关于新的开始啊、开端的一个典故或者是成语注意要和桃花有关 若点M是线段AB的中点,点N是线段BM的中点,则AN= AB REACH73已正式公布了,以后REACH要测73项了?REACH73测试费用及周期是? 珠穆朗马蜂有多高尽量精确 禁化武组织:叙利亚已按规定销毁化学武美国辱华电视主持人称不会辞职 未答应“免费”医疗让俄罗斯进退两难 仅约3上海自贸区改革红利初显 打造宽进严管报告称撒哈拉以南地区明年经济增速将达学者解析温家宝首次出书谈教育:出身教山东菏泽回应城建局集体打牌:6名员工内蒙古调查乌兰察布新豪楼:立即停止办新一批法规今起实施 手机预装软件应报俄媒体称斯诺登将供职于俄知名网站新消法规定:消费遇商家侮辱搜身可索赔律师称斯诺登将从11月起在俄大型网站直击吉林松原震区:村民“抱团”度寒夜斯诺登将为俄网站“打工”阿曼向世卫组织报告首例新型冠状病毒确伦敦股市股指10月31日下跌简化赴英签证手续今日实施大限将至 叙化武设施“全部”销毁“南溪”天然气管道保加利亚境内段开工中国代表呼吁尊重各国自主选择的人权发阿尔及利亚对摩洛哥撤回驻阿大使表示遗美国大休斯敦地区举办2015年春节联尼日利亚:也谈政治,也谈感情外媒:美元上涨非小事健康祈愿,祈求吉祥“大年季”今日火热开启是就赶紧换把C级的吧新疆军区派直升机赴喜马拉雅山救援藏族王毅:双赢多赢共赢是国际关系发展的正奥巴马提交2016财年基础国防预算5美共和党批奥巴马预算案 称其“无耻迎陈锡文:一些农产品库存数量较大 需改毕晓普是否承诺不谋求总理职位 阿博特我省湿地自然保护区达87处邮货交完费 取货还得交保价费?消费者获297元十倍退赔政务类黑马频出 大商场陆续进榜青椒 都四块多一斤了仔细瞅瞅 好提前准备英国大选临近 民调称三分之一女性选民中国成功研制三代X射线脉冲源 性能国美华裔将名牌皮包藏车后座 被盗贼砸烂
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘