说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用Delphi程序获取拨号连接的动态IP地址

HTML文档下载 WORD文档下载 PDF文档下载
用Delphi程序获取拨号连接的动态IP地址

在WIN9X下,如果安装了拨号网络,则在WINDOWS系统的系统目录System下将有两个拨号网络管理程序库RasApi32.DLL和RasApi16.DLL,我们可利用其中的RAS系列函数来获取和设置拨号连接网络的信息。当然是可以获取拨号连接的动态IP地址了。在Delphi帮助文件中,有相关RAS函数的详细说明。

一、先解释一些要用到的数据常量和数据结构。

const

RAS_MaxDeviceType = 16;//设备类型名称长度

RAS_MaxEntryName = 256;//连接名称最大长度

RAS_MaxDeviceName = 128;//设备名称最大长度

RAS_MaxIpAddress = 15;//IP地址的最大长度

RASP_PppIp = $8021;//拨号连接的协议类型,该数值表示PPP连接

type

HRASCONN = DWORD;//拨号连接句柄的类型

RASCONN = record//活动的拨号连接的句柄和设置信息

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

一般设置为SizeOf(RASCONN)

hrasconn : HRASCONN;//活动连接的句柄

szEntryName : array[0..RAS_MaxEntryName] of char;

//活动连接的名称

szDeviceType : array[0..RAS_MaxDeviceType] of char;

//活动连接的所用的设备类型

szDeviceName : array[0..RAS_MaxDeviceName] of char;

//活动连接的所用的设备名称

end;

TRASPPPIP = record//活动的拨号连接的动态IP地址信息

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

一般设置为SizeOf(TRASPPPIP)

dwError : DWORD;//错误类型标识符

szIpAddress : array[ 0..RAS_MaxIpAddress ] of char;

//活动的拨号连接的IP地址

end;

二、接着要解释要用到的两个RAS函数。

//获取所有活动的拨号连接的信息(连接句柄和设置信息)

function RasEnumConnections( var lprasconn : RASCONN ;

//接收活动连接的缓冲区的指针

var lpcb: DWORD;//缓冲区大小

var lpcConnections : DWORD//实际的活动连接数

) : DWORD; stdcall;

function RasEnumConnections;external 'Rasapi32.dll'

name 'RasEnumConnectionsA';

//获取指定活动的拨号连接的动态IP信息

function RasGetProjectionInfo(

hrasconn : HRasConn;//指定活动连接的句柄

rasprojection : DWORD;//RAS连接类型

var lpprojection : TRASPPPIP;//接收动态IP信息的缓冲区

var lpcb : DWord//接收缓冲区的大小

) : DWORD;stdcall;

function RasGetProjectionInfo;external

'Rasapi32.dll' name 'RasGetProjectionInfoA';

这两个函数的返回值为0时表示执行成功,非0表示错误代码。

三、下面要讨论如何用上面的两个RAS函数获取拨号连接的动态IP地址

首先,要用函数RasEnumConnections列出已建立的活动拨号连接的信息,其中包括连接名称、连接句柄、连接设备类型和设备名称;然后根据连接句柄用函数RasGetProjectionInfo获取连接对应的一个TRASPPPIP结构,其中包括一个成员属性szIpAddress即为动态IP地址。具体请参见以下程序片段和注释信息。

procedure TForm1.Button1Click(Sender: TObject);

const

MaxConnections = 10;//假设最多有10个活动的拨号连接

var

connections : array[0..MaxConnections-1] of RASCONN;

//拨号连接数组

longSize : dword;

intAvailabelConnections : dword;

//活动的拨号连接的实际数目

intIndex : integer;

strTemp : string;

dwResult : DWORD;

dwSize : DWORD;

RASpppIP : TRASPPPIP;

//活动的拨号连接的动态IP地址信息

begin

connections[ 0 ].dwSize := sizeof(RASCONN);

longSize := MaxConnections * connections[ 0 ].dwSize;

//接收活动连接的缓冲区大小

intAvailabelConnections := 0;

//获取所有活动的拨号连接的信息(连接句柄和设置信息)

dwResult := RasEnumConnections( connections[ 0 ]

longSize

intAvailabelConnections );

if 0 < > dwResult then

memo1.lines.add( '错误:' + inttostr( dwResult ) )

else

begin

memo1.lines.add( '现有的活动连接有' +

IntToStr( intAvailabelConnections ) + '个');

//显示所有活动的拨号连接的信息(设置信息和动态IP地址)

for intIndex := 0 to intAvailabelConnections - 1 do

begin

//显示一个活动的拨号连接的设置信息

strTemp := '连接名称:'

+ StrPAS( connections[ intIndex ].szEntryName )

+ ',设备类型:'

+ StrPAS( connections[ intIndex ].szDeviceType )

+ ',设备名称:'

+ StrPAS( connections[ intIndex ].szDeviceName );

memo1.lines.add( strTemp );

//显示一个活动的拨号连接的动态IP地址

dwSize := SizeOf(RASpppIP);

RASpppIP.dwSize := dwSize;

dwResult := RASGetProjectionInfo

( connections[ intIndex ].hRasConn

RASP_PppIp

RasPPPIP

dwSize);//获取动态IP地址

if 0 < > dwResult then

memo1.lines.add(

'错误:' + inttostr( dwResult ))

else

memo1.lines.add(

'动态地址:' + StrPas(RASpppIP.szIPAddress));

end;

end;

end;

以上程序在PWIN98+Delphi3.0下调试通过。

RDS升级:单DB实例最高可获得3TB存储和3万IOPS 移动周报:“先验证,后开发”的App开发必杀技 Supercell首席执行官谈公司运营理念 SwiftKey:Galaxy S4输入法背后的开发团队 前IE团队领导:IE是如何走向衰败的 谷歌更新BigQuery 允许在其中加入大型数据集 初创公司Spiral Genetics:超越现有DNA序列分析平台40倍速 六大开源监测工具 你用过哪个? TUP第28期:Intel 微软 Yahoo的大数据实践 惊变14天,从“小白”到上架App Store商店 “今日头条”CEO张一鸣:我是爱冒险的技术宅 OpenStack基金会COO Mark Collier:2014年将超越AWS Evernote更新Android SDK:新增商务服务并拆分“印象笔记” 主流编译器对C++11的支持现状比较 GCC 4.8发布,提升对C++11的支持 英国政府下令首选开源软件 为何美国IaaS收购被引爆?基于IaaS的四个误解和四个猜想 Kinect SDK v1.7迎来重大更新 如何激励同事编写单元测试? 谷歌GCE vs. 亚马逊EC2:快源于谷歌本有的底蕴 不要责怪开源技术 它是无辜的 短命:微软将于2014年停止对WP8系统支持 Native和Web过时了,企业级移动开发流行用Hybrid App 与EverNote竞争?谷歌Google Keep浮出水面 又一次跨越:著名3D游戏引擎Unity版本更新 Feedly团队:自研后端平台或将开源 StackMob的诱惑:16小时,山寨一款移动App “云”筹帷幄 开发者必知的5大SaaS在线服务工具 超350个政府项目托管在GitHub 政府开源会成主流? Kinect for Windows SDK 1.7正式发布,支持3D建模 SafeNet与风河系统联手推出VxWorks嵌入式系统软件货币化方案 爱情和事业是不是真的水火不容不可兼得??? 窗体里的数据能不能排序呢 救急,为什么我设置的fnOpenModal参数无效? 如何修改listview中的值? 经常去联众下围棋的兄弟进来,问个问题 用jbuilder怎样把htc文件打包到web application中去? 求助高手指点:用vb实现把结果输出到已定制的word表格中 用200百分问个很菜的问题 关于超星的问题 探讨:如何把软件开发工作为我们一生的事业 ocx问题?参数传递 用200百分问个很菜的问题 请问谁能告诉我一个制作从模糊到清晰运动的源代码或地址? 改变对话框中菜单区的背景色,急 弱智问题:我修改一个打印报表的数据窗口格式,修改后的新问题是它每次打印时接着纸的最上面, IE不能打开新窗口。是什么道理? java下如何得到当前程序(application)的路径?很急!! 组件调用问题? 初学者问题, 简单!! 为什么struts的中文资料如此之少??哪位知道有哪些中文书籍?电子书最好!! 我想做一个报表之类的东西,能在网页上显示,大家给点提示,有现成的例子最好,先谢了 请教各位大大 一个关于消息映射的郁闷 如何在Remote Data Module中使用ADOCommand? 真失败...关于优化pl/sql的问题 为什么名字空间下没有ADO 如何获得一个文件的完整URL地址? 谁能详细的讲讲我不明白的例子。我开ID送1000分。我把ID给费了。一定要搞懂 Applet从html中读取参数信息????? 在win98里可上网,但为什么不能查看网络邻居的属性?(在线等!!!) 关于超星的问题 有谁知道win2003+sql2000的问题? 怎么删除表中列的DEFAULT啊??? 高手请进,将程序加为服务 关于邮件服务器 组件编写中的问题--如何显示图标 记得以前学计算机的热情很大,并且非常希望有一台计算机,可是现在机器有了,却没有了以前的热情,经典书买了一堆却都没有看,我在想到底要不 关于超星的问题 大家装了windows server 2003么?怎么样啊?讨论一下好么!! 救救我吖!!怎样在oracle8.0.5中直接添加数据!!高分!急!! 大问题!!!装2003后网卡驱程不行,声卡装了听不到声音??? java能不能实现多文档(象VC++中)? 哪位E文好的同志能把这段话翻译出来,是RFC1928中的一段。 一个比较低级的问题-vb里面的回车换行孵的ASCII码是多少?? 奇怪!!!奇怪!!!奇怪!!!奇怪!!!快来看看! 谁知道windows的按文件名排序是怎么回事阿? ie问题 如何从一个框架调用另一个框架的方法?有办法吗?(在线) 突然觉得计算机语言有个误区 请问我用depends打开了dll文件,看到了里面的函数,但是参数表和返回值类型没有啊 水晶报表急问,大家帮帮忙看看! 求详解此题, 加速度为4m/s,求位移为12m时汽车的速度 2-sinx/2-cosx的取值范围 此题求详解, 风,摇绿了树的枝叶 仿照写一句 树欲进而风不止,子欲养儿亲不待的意思 不要复杂的复制粘贴,我想知道滚珠丝杠和滚珠丝杠轴承座如何安装在一起的,如何紧固的,还有,滚珠丝杠轴承座前面有个螺母的作用是什么, 求复合函数单调区间的一道题h(x)=cos^2(x+π/12)+1+1/2sin2x 怎样求复合函数的单调区间 中国现在跟资本主义社会有区别吗? 复合函数求单调区间y=(log1/3 x)^2 + log1/3 x (1/3是底数,X是真数) 用一两壁相距2m的看哪个指向放在车上,使车以10米每秒的速度运动,实验室,子弹先后射穿两壁,实验测得,两壁上的弹孔沿车的运动方向偏差4cm,计算子弹在100m附近的平均速度 (文言文阅读)《以秕喂鸟》1、试用通顺的语句解释“夫君者民之父母.取仓之栗移之于民,此非无之栗乎”.2、你认为邹穆公是个怎样的君王? 复合函数单调区间一题y=x方-1/x方.单调区间怎么求?还有求单调区间前要不要先求定义域? 复合函数单调区间咋求 《以秕喂鸟》这篇文言文可以看出邹穆公是一个怎样的国君? 一道复合函数单调区间的题求函数 y=a^(2x)-2a^x-1 (a>0 a≠1)的单调区间 (1)已知子弹的初加速度为零,末速度v=800m/s,位移s=0.8m,待求量是加速度.(2)求解运动时间t有多个公式可以选择,可选择含有时间t的公式. 鱼为诱饵吞钩,鸟为秕谷落网,快些! 最近的有价值的新闻及自己的看法你最近一定通过电视.报纸或网络了解了不少有价值的新闻,请写出一两条有价值的新闻,并简要发表一下自己的看法.急.亲们帮帮忙. 当黄赤交角变小时,会怎样?说明原因! 请从政治、经济、外交关系等角度说明我们在近代“错失良机”的原因. 秕谷怎么读 世界上为什么会出现人类~这高级动物? 举例说明什么叫“错过了不少良机”? 语文填动词()钢叉()愿心()鸟()药()秕谷()贝壳()下来()东西()出碎片()竹匾()绷带()祭器()回家2填上修饰词()的手()的西瓜()的圆月()的事()的经 "五万千瓦现象"指的是什么啊? 请举例说明在生活中有哪些事可以说明错失良机、一事无成【除了(最大的麦穗)】 British英国人时可加s吗 孟元老?东京梦华录?中的“瓦子”又名“瓦肆”,它指的是什么? 求错失良机的小故事从古至今因错失良机而悔恨终生的小故事.(最好是名人的) 梅花怎么形容 高一地理月考应该注意哪些东西 如何理解资本主义社会一定被社会主义社会所替代,你的观点是什么? 黄色的光怎么形容? 英语难题高手来!1.Some pills ________ the nerves and make people feel more relaxed.A.beat upB.developC.work onD.work at满分:4 分2.She does exercises every day to __________.A.be out of shapeB.keep shapeC.keep in shapeD.be shape满分:4 一个圈里一个“村”字.打一先秦作家,, 求答案!急啊 给好评的 树欲静风而不止,子欲孝而亲不在, 一个圈里一个村,打一先秦作家名,为什么是庄子? 急啊,求答案,给好评. 树欲静风不止,树犹如此,人何以堪,这句话的意思? "失踪"的英语词组是什么 求解答!初一数学! 我是位知性女人,40岁,再婚老公大我15岁,将来他能满足我吗?现在还凑合,我怕日后他不中用了我怎么办? 被圆圈包住的“村” 打一先秦作家名为什么 请求解答初一数学列车在中途受阻,耽误了6分钟,然后将时速由原来的每小时40千米提高到每小时50千米,问这样走了多少千米就可以将耽误的时间补上? 宋朝瓦肆有哪些项目?具体点.谢谢 先秦文学作家有哪些 孔子的()句名言说明了再博学的人也会有所不知,学无止境由《两小儿辩日》中“孔子不能决也”这件事中,我想到孔子的一句名言:().这也说明了再博学的人也会有所不知,学无止境. 我是学园林的,也不知道将来中国的园林方面有何发展,希望有见识的人能够为我分析一下. 先秦作家 “先秦”是什么意思 东欧社会主义国家为什么一夜之间都变成资本主义国家了?网上一些人说东欧国家坚持社会主义有困难有各方面的压力,那为什么变成资本主义就没困难没压力了,社会主义变成资本主义不就是 我觉得我是个责任心重的人,我很努力很想以后有个好的将来,但工作让我觉得压力很大.有什么解决的吗?谢 求此题详解 二战后东欧社会主义国家进行资本主义建设的主要依据是什么 句型转换1.we want (six)bottles of oranger juice 对括号内容提问_____ _____bottles of oranger juice do you want?2.i would like (a loog of) rice.对括号内容提问_____ _____rice wenld you like?3.my new like is 286 yuan .对括号内容提 此题求详解 雨的四季— 在这篇文章中,“形”指什么?“神”又指什么? 为什么世界上会人类这种高级动物呢 中方呼吁2015年后发展议程加大对非联合国说对叙利亚人道主义救援行动尚未俄罗斯法律规定亲友要对恐怖分子行为担胡万林第一任妻子:从没见其学医 庆幸“神医”胡万林案受害者之父:案情或另德媒调侃奥巴马:没有朋友了 至少你有俄学者:不要对伊核谈判前进步伐抱过高尼日利亚军方打死95名武装分子美国对中国等七国钢铁产品发起贸易救济英媒称美监听35国政要 奥巴马被称愈英国首个“音乐试管婴儿”诞生 狂爱听北京天坛公园频发虐猫事件 已致数十只俄罗斯免费医疗陷入两难境地 有效果难纽约油价25日继续走高突尼斯召开全国对话大会第一次全体会议蒙古国总统或成金正恩时期首位访朝元首综述:欧盟关注“窃听风云” 欧美信任美元对欧元汇率25日继续下跌纽约股市标普指数25日再创新高独联体在明斯克举行峰会日本福岛外海强震上修为7.1级 东京法国政坛就中国警察巴黎维安看法迥异习近平谈安全合作:吹别人灯会烧自己胡山东一大学开展“无手机课堂” 上课前韩国大学生穿韩服举行成人礼日本民间团体包围安倍官邸 反对解禁集陕西宁强一银行行长坠楼身亡 警方初步伦敦房价已突8万英镑 央行担心将引发希夫塔获空军基地控制权 利比亚面临蔓日本初高中生将用商务手册管理时间课文《背影》被删不实 朱自清经典之作巴基斯坦军方空袭巴西北部武装 至少8是否竞选连任新北市长? 朱立伦:依党浙江诸暨:电费充值卡方便市民交电费河北治污催生庞大环保产业市场需求第二节同仇敌忾的抗日战争“东亚文化之都”展风采骗子收集快递单信息诈财 专家提醒收件竹山开展“世界生物多样性日”宣传活动第一节井冈山上的燎原星火艰苦卓绝的长征山科大惊现9个学霸宿舍 40名学生全
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘