//读取当前所有连接
procedure ReceiveLink ;
const
MaxConnections = 10 ;
var
dwResult :DWORD ;
longsize :DWORD ;
intAvailabelConnections :DWORD ;
intIndex :Integer ;
RASCONNSTATUSData :RASCONNSTATUS ;
lprasconn :Array[0..MaxConnections-1] of RASCONN ;
begin
lprasConn[0].dwSize := sizeof(RASCONN) ;
longsize := sizeof(RASCONN)*MAXConnections ;
dwResult := RasEnumConnections(lprasconn[0] ,longsize ,intAvailabelConnections) ;
if dwResult <> 0 then
Form1.Memo1.lines.add('读取当前活动的连接失败.'+Inttostr(dwResult))
else
begin
Form1.Memo1.lines.add('当前系统中活动的连接:'+Inttostr(intAvailabelConnections)) ;
for intIndex := 0 to intAvailabelConnections-1 do
begin
Form1.Memo1.lines.add('连接名称:'+StrPas(lprasconn[intIndex].szEntryName)) ;
Form1.Memo1.lines.add('设备类型:'+strPas(lprasconn[intIndex].szDeviceType)) ;
Form1.Memo1.lines.add('设备名称:'+StrPas(lprasconn[intIndex].szDeviceName)) ;
RASCONNSTATUSData.dwSize := sizeof(RASCONNSTATUS) ;
dwResult := RasGetConnectStatus(lprasconn[intIndex].hRasConn ,@RASCONNSTATUSData) ;
if dwResult <> 0 then
Form1.Memo1.lines.add('连接状态未知:'+Inttostr(dwResult))
else if RASCONNSTATUSData.rasconnstate = $2000 then //RASCS_Connected then
Form1.Memo1.lines.add('连接状态:已连接')
else
Form1.Memo1.lines.add('连接状态:('+Inttostr(RASCONNSTATUSData.rasconnstate)+')') ;
end ;
end ;
end ;
//挂断
procedure HangUpRemote(RasCon :RASCONN) ;
var
dwResult :Dword ;
begin
dwResult := RasHangUp(RasCon) ;
if dwResult <> 0 then
Form1.memo1.lines.add('挂断失败')
else
Form1.memo1.lines.add('挂断成功') ;
end ;
procedure ReceiveLink ;
const
MaxConnections = 10 ;
var
dwResult :DWORD ;
longsize :DWORD ;
intAvailabelConnections :DWORD ;
intIndex :Integer ;
RASCONNSTATUSData :RASCONNSTATUS ;
lprasconn :Array[0..MaxConnections-1] of RASCONN ;
begin
lprasConn[0].dwSize := sizeof(RASCONN) ;
longsize := sizeof(RASCONN)*MAXConnections ;
dwResult := RasEnumConnections(lprasconn[0] ,longsize ,intAvailabelConnections) ;
if dwResult <> 0 then
Form1.Memo1.lines.add('读取当前活动的连接失败.'+Inttostr(dwResult))
else
begin
Form1.Memo1.lines.add('当前系统中活动的连接:'+Inttostr(intAvailabelConnections)) ;
for intIndex := 0 to intAvailabelConnections-1 do
begin
Form1.Memo1.lines.add('连接名称:'+StrPas(lprasconn[intIndex].szEntryName)) ;
Form1.Memo1.lines.add('设备类型:'+strPas(lprasconn[intIndex].szDeviceType)) ;
Form1.Memo1.lines.add('设备名称:'+StrPas(lprasconn[intIndex].szDeviceName)) ;
RASCONNSTATUSData.dwSize := sizeof(RASCONNSTATUS) ;
dwResult := RasGetConnectStatus(lprasconn[intIndex].hRasConn ,@RASCONNSTATUSData) ;
if dwResult <> 0 then
Form1.Memo1.lines.add('连接状态未知:'+Inttostr(dwResult))
else if RASCONNSTATUSData.rasconnstate = $2000 then //RASCS_Connected then
Form1.Memo1.lines.add('连接状态:已连接')
else
Form1.Memo1.lines.add('连接状态:('+Inttostr(RASCONNSTATUSData.rasconnstate)+')') ;
end ;
end ;
end ;
//挂断
procedure HangUpRemote(RasCon :RASCONN) ;
var
dwResult :Dword ;
begin
dwResult := RasHangUp(RasCon) ;
if dwResult <> 0 then
Form1.memo1.lines.add('挂断失败')
else
Form1.memo1.lines.add('挂断成功') ;
end ;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货