关于WIN7下,DELPHI利用RAS去创建拨号网络的问题解决

项目背景:

       因项目需要,需要通过程序利用3G卡,去拨号上网,在利用RAS在WINXP 下可以正常拨号,但是在WIN7下却没有效果,经过分析,是因为创建的拨号器WINXP 下与WIN7上是有区别的,将处理代码贴上:

function Tfrm_webMain.createRasEntry(existEntry:string):string;
var
  dwResult, Size: Integer;
  rasEntry: TRasEntry;
  Buffer: array[0..255] of Byte;
  ErrorInfo: array[0..100] of Char;
begin
  Size := SizeOf(TRasEntry);
  FillChar(RasEntry, SizeOf(TRasEntry), 0);
  with RasEntry do
  begin
    dwSize := Size;
    {启用软件压缩RASEO_SwCompression,启用第一个可使用设备拨号RASEO_SpecificNameServers,Use default gateway on remote network,RASEO_RemoteDefaultGateway}
    dwfOptions :=RASEO_SwCompression+RASEO_SpecificNameServers+RASEO_RemoteDefaultGateway;
    {$IFDEF WINVER>=$501}
    dwfOptions2 :=RASEO2_DontNegotiateMultilink;//WIN7下 设置该属性,取消选择,为单链路连接协商多重链接
    {$ENDIF}
    strCopy(szDeviceName, PChar(CSAisinoModem));
    dwfNetProtocols:=RASNP_Ip;
    rasEntry.szDeviceType:=RASDT_Modem;
    dwFramingProtocol := RASFP_Ppp;

  end;
  vDail.GetConnections;
  //创建拨号连接
  dwResult := RasSetEntryProperties(nil, PChar(CSAisinoModem), @rasEntry, Size, nil, 0);
  if dwResult <> 0 then    //创建拨号连接失败
  begin
    RasGetErrorString(dwResult, ErrorInfo, 100);
  end
end;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值