如何Delphi中操纵拨号网络

http://tech.ddvip.com   2007年10月06日    社区交流

内容摘要:在WIN9X下,如果安装了拨号网络,则在WINDOWS系统的系统目录System下将有两个拨号网络管理 程序库RasApi32.DLL和RasApi16.DLL,我们可利用其中的函数来获取和设置拨号连接网络的信息。在 Delphi帮助文件中,有相关函数的说明。

  参数pRASDIALPARAMS是一个RASDIALPARAMS类型的指针,指向一个拨号连接的拨号参数数据 的缓冲区,其中RASDIALPARAMS及LPRASDIALPARAMS的类型说明如下:

  LPRASDIALPARAMS = ^RASDIALPARAMS;

  RASDIALPARAMS = record

  dwSize : DWORD;//该结构所占内存的大小(Bytes)

  一般设置为SizeOf(RASDIALPARAMS)

szEntryName : array[0..RAS_MaxEntryName] of char;//拨号连接名称
szPhoneNumber : array[0..RAS_MaxPhoneNumber] of char;//拨号号码
szCallbackNumber : array[0..RAS_MaxCallbackNumber] of char;//回叫号码
szUserName : array[0..UNLEN] of char;//用户名称
szPassword : array[0..PWLEN] of char;//用户密码
szDomain : array[0..DNLEN] of char;//域名
end;

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

  下面是一个应用例子,获取指定拨号连接的拨号参数.

var
dwResult : DWORD;
RASDIALPARAMSData : RASDIALPARAMS;
NeedPWD : WordBool;
begin
//指定拨号连接的名称
with RASDIALPARAMSData do
begin
dwSize := sizeof( RASDIALPARAMS );//结构大小
szEntryName := '163';//指定拨号连接的名称
szUserName := '';//其它五个参数初始化
szPassword := '';
szDomain := '';
szCallbackNumber := '';
szPhoneNumber := '';
end;
NeedPWD := true;//需要用户密码
//获取指定拨号连接的拨号参数
dwResult := RasGetEntryDialParams( ''
@RASDIALPARAMSData
NeedPWD );
if dwResult <> 0 then //获取指定拨号连接的拨号参数失败
memo1.lines.add( '获取'+StrPAS(RASDIALPARAMSData.szEntryName )+'拨号参数失败:'
+ GetRasError( dwResult ))
else
begin//显示指定拨号连接的拨号参数
memo1.lines.add( StrPAS(RASDIALPARAMSData.szEntryName )+'拨号参数如下');
memo1.lines.add( '用户名称:' + StrPAS(RASDIALPARAMSData.szUserName ));
memo1.lines.add( '用户密码:' + StrPAS(RASDIALPARAMSData.szPassword ));
memo1.lines.add( '域 名:' + StrPAS(RASDIALPARAMSData.szDomain ));
memo1.lines.add( '回叫号码:' + StrPAS(RASDIALPARAMSData.szCallbackNumber ));
memo1.lines.add( '拨号号码:' + StrPAS(RASDIALPARAMSData.szPhoneNumber ));
end;
end;

责编:豆豆技术应用

正在加载评论...