不调用拨号网络在程序中拨号

用拨号连接拨号的RasAPI函数为RasDial,其函数原型为:

function RasDial(pRasDialExtensions : LPRASDIALEXTENSIONS;//在WIN9X下无用,可设置为NIL

lpszPhonebook : PChar;//电话本名称,在Win9X下无作用,可为空字符串

lpRasDialParams : LPRASDIALPARAMS;//拨号参数

dwNotifierType : DWORD;//消息通知方式

handle : TRasDialFunc;//消息处理事件

var lphRasConn : DWORD//返回的成功连接的连接句柄

) : DWORD; stdcall;

function RasDial;external RasApiDll name 'RasDialA';

参数pRASDIALPARAMS的说明同RasGetEntryDialParams.

参数dwNotifierType表示消息通知方式.在拨号过程中,系统发出拨号事件消息可以通知拨号进度,因而需要提供接受消息的方式和处理消息的函数.当其值为$FFFFFFFF时,则参数handle被视为一个窗口的句柄,事件消息被发生该窗口处理;当其值为0 时,handle被视为TRasDialFunc类型的函数的指针;当其值为1时,handle被视为TRasDialFunc1类型的函数的指针.

参数handle表示消息处理函数指针,其类型可以THandle、TRasDialFunc、TRasDialFunc1.当该参数不为NULL或NIL时,其代表的消息处理函数指针将接受拨号进度通知消息;为NIL时,拨号过程由异步方式变为同步方式,直到拨号过程成功或失败后RasDial函数才返回.详细可参见Delphi帮助文件中关于RasDial函数的帮助。

当拨号连接成功时,lphRasConn将表示其连接句柄.

函数返回值为0表示执行成功;否则为错误代码.

下面是一个应用例子,按指定的拨号参数拨号.

var
RASDIALPARAMSData : RASDIALPARAMS;
dwResult : DWord;
RasCon : DWord;
begin
//指定拨号连接的拨号参数
with RASDIALPARAMSData do
begin
dwSize := sizeof( RASDIALPARAMS );//结构大小
szEntryName := '163';//指定拨号连接的名称
szUserName := 'MyName';//指定用户名称
szPassword := 'MyPassword';//指定用户密码
szDomain := 'MyDomain';//指定域名
szCallbackNumber := '';//指定回叫号码
szPhoneNumber := '';//指定拨号号码
end;
//用指定的拨号参数拨号,采用同步拨号方式
dwResult := RasDial( NIL,'',@RASDIALPARAMSData,0,NIL,RasCon
);
if dwResult < > 0 then //设置指定拨号连接的拨号参数失败
memo1.lines.add( '用'+StrPAS(RASDIALPARAMSData.szEntryName
)+'拨号失败:'
+ GetRasError( dwResult ))
else
memo1.lines.add( '用'+StrPAS(RASDIALPARAMSData.szEntryName
)+'拨号成功!' );
end;

时间: 2024-09-17 03:59:41

不调用拨号网络在程序中拨号的相关文章

在网络聊天程序中怎么自动侦测局域网内部启动该软件的用户

问题描述 在网络聊天程序中怎么自动侦测局域网内部启动该软件的用户 在网络聊天程序中怎么自动侦测局域网内部启动该软件的用户,用java语言实现 解决方案 只能说思想,计时器 客户端发送数据到主服务器

vs2010上用c#调用leadtools,应用程序中发生了未经处理的异常

问题描述 照着博客上的对比图像demo写的代码,编译都通过了,就是运行的时候就出现下面的问题了,求解答啊!!!!调试的时候就说beforePic.Image=codes...这句代码,有问题在System.IO.FileNotFoundException中第一次偶然出现的"mscorlib.dll"类型的异常,"Leadtools.RasterException"类型的未经处理的异常出现在Leadtools.dll中.怎么解决???? 解决方案 解决方案二:提示是文

如何在预存程序中调用另外一个预存程序

要在一个预存程序中调用另外一个预存程序,可以使用下列两种方式之一进行调用: EXECUTE <欲执行之预存程序的名称> -或- EXEC <欲执行之预存程序的名称> 若被调用的欲执行之预存程序的名称拥有传回值,且您需要接收该传回值,则在执行该欲执行之预存程序的时候,必须使用 OUTPUT 关键词来让被调用的预存程序可以接收回传值.只是您必须先在被调用的预存程序中,利用 OUTPUT 关键词来加以建立并指定要回传的数值之数据型别.如下所示即是一例: CREATE PROCEDURE

浅析PHP程序中的目录遍历漏洞

目录遍历漏洞在国内外有许多不同的叫法,比如也可以叫做信息泄露漏洞,非授权文件包含漏洞.名称虽然多,可他们却有一个共同的成因,就是在程序中没有过滤用户输入的../和./之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件,其危害可想而知.这类漏洞大家比较熟悉的可能就是在一些邮件列表程序以及网络硬盘程序中,其实这类漏洞还广泛存在与一些国外的BLOG程序中,这类漏洞大概分两种下面就来通过实例来说明这类漏洞是如何产生以及该如何防范. 首先,我们来看一个国外的BLOG,前几天从网上下

在开发 ppc 程序中 如何 获得网络 连接的列表(例如列出 CMWAP,CMNET 等 ), 选择用那个连接, 如何用代码控制选中的连接 进行拨号 ?

问题描述 在开发ppc程序中如何获得网络连接的列表(例如列出CMWAP,CMNET等),选择用那个连接,如何用代码控制选中的连接进行拨号?.netcf1.0或.netcf2.0能实现吗?还是用api实现???最好有详细的代码,谢谢 解决方案 解决方案二:顶解决方案三:dd解决方案四:ddd

在应用程序中实现RAS拨号

远程访问服务(RAS)是WindowsNT操作系统提供的系统服务之一,通过电话线可以使单独的计算机接入网络,或通过两个RAS对拨使两个局域网互连.此项服务的功能可以使远程的计算机端点以较低的费用同网络连接. 由于WindowsNT操作系统的大量使用,远程访问服务功能也被广泛应用,在许多具体的应用程序中,均已通过远程访问服务来实现对远程的资源共享等功能.连通远程访问服务,只要从远程客户机拨通拨号网络就可以了,执行挂断就结束连接,鼠标操作Windows95中的拨号网络可以直接拨通和挂断.但有些时候我

使用Integrated Web Services Client for ILE在ILE程序中调用Web Service 一

IBM Integrated Web Services for i是IBM最新发布的在IBM i上的SOA解决方案,包括Integrated Web Services Server for i和Integrated Web Services Client for ILE两部分.Integrated Web Services Server for i使用户能够将ILE RPG 和 COBOL程序快速部署成Web Services,而Integrated Web Services Client fo

Asterisk eSpeak 2.0发布 拨号规则应用程序

Asterisk eSpeak提供"eSpeak"拨号规则应用程序,它允许您使用eSpeak语音合成器与Asterisk.这个模块调用本地eSpeak TTS引擎,并用它来呈现文本到语音.它支持以下语言:南非荷兰语,阿尔巴尼亚语,亚美尼亚语,粤语,加泰罗尼亚语,http://www.aliyun.com/zixun/aggregation/35043.html">克罗地亚语,捷克语,丹麦语,荷兰语,英语,世界语,爱沙尼亚语,芬兰语,法语,格鲁吉亚语,德语,希腊语,印地文

Asterisk Flite 2.0发布 拨号方案应用程序

Asterisk Flite是由"Flite公司"提供的拨号方案应用程序,它允许您使用与Asterisk Flite公司的TTS引擎.这个模块调用本地Flite公司的TTS引擎,并用它来呈现文本到语音. Asterisk Flite 2.0该版本增加了宽带音频支持.现在,它可以产生8kHz或16kHz的声音文件. Flite演示: exten => 1234,1,Answer()exten => 1234,n,Flite("This is a simple F l