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

在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下调试通过。

VB取得和设置计算机名 VB取得和设置系统颜色 VB取得计算机名 VB取得目前所有的输入法 VB取得应用所在的目录 趣味撞球——VB应用程序一例 缺省值和可选参数 -VB资料 确定当前 WIN95 的启动状态-VB资料 让TextBox的输入具备overwrite(覆盖)的功能 -VB资料 让密码轻松显示 -VB资料 让文本框输入完后,直接跳入下一行 -VB资料 VB如何编制带有不定个数参数的过程。 VB如何充分扩充VB功能 VB如何传递不固定个数的叁数? VB如何打开和关闭光驱门 VB如何导出收藏夹到文件或者导入文件到收藏夹 VB如何得到磁盘上剩余空间的值 VB如何得到应用程序的资料! VB如何调用chm格式的帮助文件 VB如何调用控制面版中的应用程序 VB如何动态更新数据报表 VB如何改变 NT 预设的打印机? VB如何改变 Windows 预设的打印机 VB如何关闭其他程序 VB如何过滤键盘录入 VB如何获得Windows95已经运行的时间 VB如何检测左右键同时按下? VB如何检查您的电脑是否打开 ActiveDesktop? VB如何将程序建立成“启动”文件夹的捷径? VB如何将程序建立成「启动」资料夹的捷径。 VB如何结束 Shell 所启动的程序? 请问InputBox在framework 类库里面有没有代替的阿? 为什么我写到文件中的字符总长度比我实际应该要写的多? 如何使dbctrlgrid多选,并使鼠标右击相当于鼠标左击 关于静态IP地址,急!!! 如何将tomcat做为windows的一项服务启动? 请问各位大虾,哪有paradox(INPRISE 公司产品)数据库(*.DB)的资料? 非法操作的问题 请问各位大虾,哪有paradox(INPRISE 公司产品)数据库(*.DB)的资料? 各位大虾救命啊!请问怎么在一个DIALOG中使用RICHEDITVIEW,谢谢大家了 ACCESS的删除问题 我有“处女”情结,可.............. 菜问题,,马上给分sendto问题 while和for的区别 安装的问题 我喜欢上公司的JJ怎么办????? 谁能帮我反编译?急 1.7gmsdn如何改成3张碟刻出来 启动慢? 有什么方法实现点击"提交"按钮后,弹出一个框显示表单里的数据,"确定"后再提交,"取消"后不提交? 请教vb 字符串问题 急!明天要啊!(帮忙啊!)分在另一贴给! 请问如何创建一个组控件,然后又可以动态调用?请进!:) 用Jbuilder开发,怎样配置才能开发j2me? 关于HOOK和键盘屏蔽的问题??? 如何在自己的网页上嵌入google的页面翻译功能 有关2k的内存问题 阴谋家已被清除!大家尽兴的庆祝呀! 问一下 C++基础的弱智(20分钟内结贴) 高手请看:实形变量在不同的过程中调用问题?(大家都要遇到的问题,来着有分!) 还是没解决呀!!1 350元左右的MP3播放器谁好阿?你给推荐一下? 由于工作需要,将要转到Linux平台,请问那位知道有什么好的SQL Client在Linux下? 昨天做成功了有限集手写汉字识别的程序,高兴,散分!!! SOS。。。一个很基础的问题 。。 系统设计和软件设计的说明书问题 [请问]两个JavaScript问题 一个企业的办公系统,使用人数5k人,预算多少合适? 我中了“冰河” 怎么办? 菜鸟问题:linux下怎么把文件a和b压缩成c啊? 请问大家一些事情(关于反汇编) 菜鸟问题:linux下怎么把文件a和b压缩成c啊? 资源管理器中选中的多个文件怎样传给我的程序 高分求购网页 在哪能下载SYBASE11.5的客户端和服务器端?急!!!!! 显示器的问题 请问如何搜索到网络中所有的消息名,即用Net Name命令显示出来的 急,有办法用java做个程序:输入“(3>4)or(3>5)",判断后输出其对应的bool值吗? 怎么在自己的程序里注册一个组件? 问一个小问题,高分相赠! mssql的JDBC那有得下,听说微软站上的那个只能连自己的SQL,有没有完全版的呀,在哪可以下? 农业生态系统中主要的有毒有害物质有哪些及它们的毒害范围 关于去掉绝对值的问题|x-1|+|x+1| 如何迅速解决即将面临的英语四级的难题,对一个英语挂科的人 高能磷酸健水解释放的是什么能 为什么取代反应要用纯溴而加成反应用溴水? 南昌大学英语过了四级,以前挂科的英语算学分吗我的大学英语挂了,补考好多次都没过,但这次把四级过了,不知道学分会不会自动补上?还是还要重修呀? 好奇害死猫 CURIOSITY KILLS THE CAT怎么样 请找Jack接电话怎么用英语说 我的英语超级烂,大一了,马上就要考四级了,而且还常挂科, 如果想将石灰石和盐酸反应生成的气体收集起来,该如何进行操作?如果用连接好的装置 为神马π等于3.1415926…… JC/T420-1991水泥原料中氯的化学分析方法 将石灰石和盐酸反应生成的气体收集起来 需要仪器; 连接方法;将石灰石和盐酸反应生成的气体收集起来 需要仪器; 连接方法; 建最美上饶市,做最美上饶人 作文(急) excel表格中,比较数值大小,自动填充颜色?excel表格中,当B1A1,表格底色自动填充绿色, 目前人类的科学能不能把人类“变成丧尸” 九江美丽的景色作文 潜水员在水中看岸上的小鸟,下图中能正确表示其光线的传播大致路径的是答案为何是C,而不是B? 从人类拍丧尸开始总共有多少部丧尸片或有关丧尸片.大片和小片全都告诉我啊,一个也不能少啊.把名称也告诉我,在此我就多谢了. 建最美上饶市,做最美上饶人作文450字左右,觉得好悬赏再题哦,明天之前. ajax异步请求如何理解RT 有没有一些丧尸片,里面的某些丧尸有人类意识的就是说里面的人被咬后,变成了丧尸,但是有人类意识的, 关于描写上饶的作文 等比数列an满足a1=1,0<q<1/2,且对任意等比数k,ak-(a(k+1)+a(k+2))是该数列中的某一项 求q取值集合 丧尸是人类吗人的定义到底是什么.是指人的意识是人,还是指身体是人.如果说人得身体叫人那么丧尸是人吗.若人的意识叫人.那没有意识的植物人叫人吗.如果一个植物人苏醒了,那么他没苏醒 行李直挂用英语怎么说? 潜水员在水下观察岸边一棵树的树梢,他看到的是 变高了的树梢的虚像还是实像?如题 在我们的世界,无论是现在是未来,发生类似“T病毒”在四周围传播,人类变成丧尸的事件真的不会发生吗?各位有没有想过,若然有某位野心家真的掌握了这种生化技术,他真的不会研制下去?还 Care killed a cat,中文意思是什么? 该同志的成份、年龄、问你话程度、政治面貌等基本情况,家庭主要成员和主要社会关系的基本情况. curiosity kills the cat 的中文谚语 care kill a 大智慧里,个股,向前复权,和向后复权各是什么意思?为什么要向前复权? Why do people say "curiosity killed the cat"?为什么说“好奇害死猫”呢?它出自哪里? care kills a cat.看不懂这句话,是个成语的意思,请翻译 股票中的向前复权、向后复权、高级复权、全流通复权和除权指的是什么啊?能举个例子吗? 江西省上饶市铅山县有哪些景色 a stray cat 是什么意思啊 股票向前复权与向后复权的核心区别是什么向前复权与向后复权的核心区别是什么,对股票买卖操作影响在那里? 托福分数修改分数不理想怎么办呢!实在是烦.童鞋介绍了滕讯:『 13 • ⒉9 • 306⒎ 』 实在是不错,加了12分,很好!已经过去半年了.3Q 向含有amolAlCl3的溶液中加入含bmolNaOH的溶液,生成Al(OH)3沉淀的物质的量可能是( ) ①amol ②bmol ③a/3mol ④0mol ⑤(4a-b)mol生成沉淀的物质的量可能是下列各项中的.和3 股市上要复权,请问有向前、后复权,还有全流通向前向后复权,还有全流通除权.如果我想复权到底是用哪种? 怎么修改托福成绩单 如何修改托福成绩单 大学托福成绩 向含有amolALCI3的溶液中加入含有bmolKOH额溶液求生成的沉淀物质的量n(oh-):n(al3+) al元素的存在形式 al(oh)3沉淀量 b:a_时 al(oh)3 _________b:a_ al(oh)3+al3+ 交割与交收分别什么意思? 托福成绩修改?托福成绩单怎么修改?托福成绩单如何修改?我查询到一家诚达修改成绩不知道怎么样q8610-8127 一道物理证明题将任意多个质点从某一点以同样大小的速度|V|,在同一竖直面内沿不同方向同时抛出,试证明在任一时刻这些质点分散处在某一圆周上 到期交割和商品交收区别期货交易和远期交易里面有个区别就是期货交易履约方式为到期交割和对冲平仓,远期交易是商品交收.那么到期交割和商品交收有什么区别? 托福成绩可以修改吗?怎么修改托福成绩? 物理证明题一道此球表面电荷均匀分布,从球心移动到球的顶部做功W,求证,从球心向反向延长线上移动R的距离做功为-W不是很明白……我比较白……请说明白一点好吗 投资者由谁办理交割、交收? 符号表情 :-@ 用手挤瓶子,里面的水液面上升,猜想是水的热胀冷缩,要求证明不是用0~4°C的水来测试,可以吗是证明。我用的是0~4°C的水 潜水员在水下听到岸边人的讲话声是什么的传播 风雨()()成语1、3是数字快 试证明:有一长度s被分成n个相等的部分,若质点一加速度a由这一长度的始端出发,质点通过每一部分的末端时加速度增加a/n,那么它经过后的速度是sqr(3as-as/n) 请问答案是什么,各个选项要解析一下 江西省2014届九年级第三次大联考数学英语答案, 考研英语长难句分析,Its beginning obscured by unemployment caused by the world economic slow-downIts beginning obscured by unemployment caused by the world economic slow-down,the new technological unemployment may emerge as the great socio-ec 挂科了怎么办 英语过不去 还要考4级 阿联酋中国商会为中资企业办讲座澳媒评论称中国买家推高悉尼房价四分之11年来最强风暴袭英国 海陆空交通大奥巴马巨资医保网站故障频出 副总裁被中断30年 美国与新西兰恢复联合军演迈克尔杰克逊私人医生刑满出狱 欲再获美国在欧反导基地开建 防范伊朗导弹引猫鼬欲擒毒蛇当美食 毒蛇凌厉反击赢得世界新闻报窃听丑闻开审 卡梅伦政府威浙江释疑吴英资产处置:困难重重 已追清华公布领军计划推荐学校 浙江三中学疑似Nexus5第一张照片流出 摄像浙江19所高中入围清华大学领军计划名移动设备进入美国儿童生活 使用人数两国务院同意杭州再启城市总体规划修编女星着透视装惊现内裤 强搂导演遭拒绝11年来最强风暴袭英国 海陆空交通大美国在欧反导基地开建 防范伊朗导弹引中央巡视组:把发现问题、形成震慑作为专家析中央巡视组组长一次一授权:改变网络红人板车哥来到余杭 行万里路为穷上海多个航班受台风“凤凰”影响取消 过半公益基金会无官方网站 普遍存在信网曝汕头一辆汽车后拖着小狗行驶黄山、西湖等5家著名景区首次联合倡议黄渤谈与徐峥吻戏:拍完我就改吃素(组南宁柳沙公司董事长许志纯被开除党籍并中国花游姑娘颁奖典礼玩自拍亚运花游精彩瞬间云南打造专业团队网上“推销”中医药李娜退役 “娜”些年追过的娜姐(组二甲胺槽罐车高速上发生泄漏 咸宁消防体操赛场惊现妈妈级运动员 39岁丘索经合组织官员敦促日本央行加码货币刺激四川眉山市人大常委会副主任于忠平接受代驾APP悄然走红 业界称安全存隐忧过半公益基金会无官方网站 普遍存在信广东全面清理214项地方性法规广西-东盟经济技术开发区管委会副主任习近平:努力建设新型司令机关 增强打代驾APP悄然走红 业界称安全存隐忧习近平今日在京接见全军参谋长会议代表
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘