PhoneEntries[ 0 ].dwSize := sizeof( RASEntryName );
dwSize:=MaxPhoneEntries*sizeof(RASEntryName);
//为缓冲区的大小
//调用RasAPI函数,获取当前系统中可用的拨号连接名称
dwResult := RasEnumEntries ( NIL,'',
@PhoneEntries[ 0 ],dwSize, dwEntries );
if dwResult <> 0 then
begin//RasAPI函数,执行错误
memo1.lines.add('RasEnumEntries错误:' +
GetRasError( dwResult ));
exit;
end;
//显示当前系统中可用的拨号连接名称
memo1.lines.add('共有' +
inttostr( dwEntries ) + '个RAS连接,如下所示');
for intIndex := 0 to dwEntries -1 do
memo1.lines.add(strpas(
PhoneEntries[ intIndex ].szEntryName ) );
end;
3、获取默认的拨号连接的名称
默认的拨号连接,即用户在浏览器中设置的拨号连接,该连接可以认为是用户最
常用的拨号连接.
在注册表的HKEY_USERS\.Default\RemoteAccess位置,有一个字符串名Profile,它对应字符值即为HKEY_USERS\.Default\RemoteAccess\Addresses.
二、新建拨号连接、修改拨号连接的属性
RasAPI函数RasCreatePhonebookEntry、RasEditPhonebookEntry通过调用Win9X的新建拨号连接、修改拨号连接的设置界面,允许用户新建拨号连接、修改拨号连接,具体的设置操作还要由系统来完成.
1、新建拨号连接
新建拨号连接的RasAPI函数为RasCreatePhonebookEntry,其函数原型为:
function RasCreatePhonebookEntry(
hwnd : THandle;
//新建拨号连接窗口的父窗口的句柄,
//为NIL表示桌面(DeskTop)
lpszPhonebook: pchar;
//电话本名称,在Win9X下无作用,可为空字符串
):DWORD;stdcall;
function RasCreatePhonebookEntry;
external RasApiDll name
'RasCreatePhonebookEntryA';
函数返回值为0表示执行成功;否则为错误代码.
下面是一个应用例子,允许用户新建一个拨号连接.
var
dwResult : DWORD;
begin
//在当前窗口中新建拨号连接
dwResult := RasCreatePhonebookEntry( handle, '' );
if dwResult = 0 then
memo1.lines.add('新建拨号连接成功!')
else
memo1.lines.add('新建拨号连接失败:!' +
GetRasError( dwResult ))
end;
2、修改拨号连接的属性
修改拨号连接的属性的RasAPI函数为RasEditPhonebookEntry,其函数原型为:
function RasEditPhonebookEntry(
hwnd : THandle;
//新建拨号连接窗口的父窗口的句柄,
//为NIL表示桌面(DeskTop)
lpszPhonebook: pchar;
//电话本名称,在Win9X下无作用,可为空字符串
lpszEntryName: pchar;
//拨号连接的名称,如'163'、'169'等
):DWORD; stdcall;
function RasEditPhonebookEntry;
external RasApiDll name 'RasEditPhonebookEntryA';
函数返回值为0表示执行成功;否则为错误代码.
下面是一个应用例子,允许用户修改指定拨号连接的属性.
var
dwResult : DWORD;
begin
//在当前窗口中修改拨号连接的属性
dwResult:=RasEditPhonebookEntry(handle,'','163');
if dwResult = 0 then
memo1.lines.add('修改拨号连接成功!')
else
memo1.lines.add('修改拨号连接失败:!' +
GetRasError( dwResult ))
end;
三、获取和设置拨号连接的拨号参数
用RasAPI函数RasGetEntryDialParams、RasSetEntryDialParams可以直接获取和设置指定拨号连接的拨号参数,其中包括用户名称和用户密码!
1、获取拨号连接的拨号参数
获取拨号连接的拨号参数RasAPI函数为RasGetEntryDialParams,其函数原型为:
function RasGetEntryDialParams(
lpszPhonebook: pchar;
//电话本名称,在Win9X下无作用,可为空字符串
pRASDIALPARAMS:LPRASDIALPARAMS;
//拨号参数,是一个RASDIALPARAMS类型的指针
var lpfPassword : WordBool
//是否需要用户密码
):DWORD;stdcall;
function RasGetEntryDialParams;
external RasApiDll name 'RasGetEntryDial