麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Delphi > 正文

用Delphi程序獲取撥號連接的動態(tài)IP地址

2019-11-17 05:07:08
字體:
供稿:網(wǎng)友
p>  在WIN9X下,假如安裝了撥號網(wǎng)絡(luò),則在WINDOWS系統(tǒng)的系統(tǒng)目錄System下將有兩個撥號網(wǎng)絡(luò)治理程序庫RasApi32.DLL和RasApi16.DLL,我們可利用其中的RAS系列函數(shù)來獲取和設(shè)置撥號連接網(wǎng)絡(luò)的信息。當然是可以獲取撥號連接的動態(tài)ip地址了。在Delphi幫助文件中,有相關(guān)RAS函數(shù)的具體說明。 一、先解釋一些要用到的數(shù)據(jù)常量和數(shù)據(jù)結(jié)構(gòu)。 const
RAS_MaxDeviceType = 16;//設(shè)備類型名稱長度
RAS_MaxEntryName = 256;//連接名稱最大長度
RAS_MaxDeviceName = 128;//設(shè)備名稱最大長度
RAS_MaxIpAddress = 15;//IP地址的最大長度
Rasp_PppIp = $8021;//撥號連接的協(xié)議類型,該數(shù)值表示PPP連接type
HRASCONN = DWord;//撥號連接句柄的類型
RASCONN = record//活動的撥號連接的句柄和設(shè)置信息
dwSize : DWORD;//該結(jié)構(gòu)所占內(nèi)存的大小(Bytes),
一般設(shè)置為SizeOf(RASCONN)
hrasconn : HRASCONN;//活動連接的句柄
szEntryName : array[0..RAS_MaxEntryName] of char;
//活動連接的名稱
szDeviceType : array[0..RAS_MaxDeviceType] of char;
//活動連接的所用的設(shè)備類型
szDeviceName : array[0..RAS_MaxDeviceName] of char;
//活動連接的所用的設(shè)備名稱
end;
TRASPPPIP = record//活動的撥號連接的動態(tài)IP地址信息
dwSize : DWORD;//該結(jié)構(gòu)所占內(nèi)存的大小(Bytes),
一般設(shè)置為SizeOf(TRASPPPIP)
dwError : DWORD;//錯誤類型標識符
szIpAddress : array[ 0..RAS_MaxIpAddress ] of char;
//活動的撥號連接的IP地址
end;
二、接著要解釋要用到的兩個RAS函數(shù)。 //獲取所有活動的撥號連接的信息(連接句柄和設(shè)置信息)
function RasEnumConnections( var lPRasconn : RASCONN ;
//接收活動連接的緩沖區(qū)的指針
var lpcb: DWORD;//緩沖區(qū)大小
var lpcConnections : DWORD//實際的活動連接數(shù)
) : DWORD; stdcall;
function RasEnumConnections;external Rasapi32.dll
name RasEnumConnectionsA;
//獲取指定活動的撥號連接的動態(tài)IP信息
function RasGetProjectionInfo(
hrasconn : HRasConn;//指定活動連接的句柄
rasprojection : DWORD;//RAS連接類型
var lpprojection : TRASPPPIP;//接收動態(tài)IP信息的緩沖區(qū)
var lpcb : DWord//接收緩沖區(qū)的大小
) : DWORD;stdcall;
ction RasGetProjectionInfo;external
Rasapi32.dll name RasGetProjectionInfoA;
  這兩個函數(shù)的返回值為0時表示執(zhí)行成功,非0表示錯誤代碼。 三、下面要討論如何用上面的兩個RAS函數(shù)獲取撥號連接的動態(tài)IP地址   首先,要用函數(shù)RasEnumConnections列出已建立的活動撥號連接的信息,其中包括連接名稱、連接句柄、連接設(shè)備類型和設(shè)備名稱;然后根據(jù)連接句柄用函數(shù)RasGetProjectionInfo獲取連接對應(yīng)的一個TRASPPPIP結(jié)構(gòu),其中包括一個成員屬性szIpAddress即為動態(tài)IP地址。具體請參見以下程序片段和注釋信息。 procedure TForm1.Button1Click(Sender: TObject);
const
MaxConnections = 10;//假設(shè)最多有10個活動的撥號連接
var
connections : array[0..MaxConnections-1] of RASCONN;
//撥號連接數(shù)組
longSize : dword;
intAvailabelConnections : dword;
//活動的撥號連接的實際數(shù)目
intIndex : integer;
strTemp : string;
dwResult : DWORD;
dwSize : DWORD;
RASpppIP : TRASPPPIP;
//活動的撥號連接的動態(tài)IP地址信息
begin
connections[ 0 ].dwSize := sizeof(RASCONN);
longSize := MaxConnections * connections[ 0 ].dwSize;
//接收活動連接的緩沖區(qū)大小
intAvailabelConnections := 0;

//獲取所有活動的撥號連接的信息(連接句柄和設(shè)置信息)
dwResult := RasEnumConnections( connections[ 0 ],
longSize,intAvailabelConnections );
if 0 $#@60; $#@62; dwResult then
memo1.lines.add( 錯誤: + inttostr( dwResult ) )
else
begin
memo1.lines.add( 現(xiàn)有的活動連接有 +
IntToStr( intAvailabelConnections ) + 個);
//顯示所有活動的撥號連接的信息(設(shè)置信息和動態(tài)IP地址)
for intIndex := 0 to intAvailabelConnections - 1 do
begin
//顯示一個活動的撥號連接的設(shè)置信息
strTemp := 連接名稱:
+ StrPAS( connections[ intIndex ].szEntryName )
+ ,設(shè)備類型:
+ StrPAS( connections[ intIndex ].szDeviceType )
+ ,設(shè)備名稱:
+ StrPAS( connections[ intIndex ].szDeviceName );
memo1.lines.add( strTemp );
//顯示一個活動的撥號連接的動態(tài)IP地址
dwSize := SizeOf(RASpppIP);
RASpppIP.dwSize := dwSize;
dwResult := RASGetProjectionInfo
( connections[ intIndex ].hRasConn,
RASP_PppIp,RasPPPIP,dwSize);//獲取動態(tài)IP地址
if 0 $#@60; $#@62; dwResult then
memo1.lines.add(
錯誤: + inttostr( dwResult ))
else
memo1.lines.add(
動態(tài)地址: + StrPas(RASpppIP.szIPAddress));
end;
end;
end;
以上程序在PWIN98+Delphi3.0下調(diào)試通過。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 91九色视频观看 | 欧美日韩视频网站 | 精品一区二区三区欧美 | 91成人在线免费视频 | 国产99久久精品一区二区 | 鲁丝一区二区二区四区 | 91精品国产综合久久青草 | 性大片性大片免费 | 国产精品爱久久久久久久 | 久久99精品久久久久久国产越南 | 国产成人精品一区二区仙踪林 | 午夜视 | 成人av一二三区 | 曰批全过程120分钟免费69 | 成人毛片网 | 亚洲日韩中文字幕一区 | 美女在线观看视频一区二区 | 韩国精品视频在线观看 | 91精品国产综合久久久欧美 | 亚洲精品久久久久久下一站 | 国产免费观看一区二区三区 | 国产女厕一区二区三区在线视 | 国产精品成人免费一区久久羞羞 | avav在线播放 | japanese嫩21videos | 欧美激情999 | 国产精品视频中文字幕 | 久久久久免费精品国产小说色大师 | 欧美成人一区二区三区电影 | 欧美一区二区三区中文字幕 | 成人444kkkk在线观看 | 欧美性猛交一区二区三区精品 | 欧美一级黄色网 | 国产午夜三级一区二区三桃花影视 | 欧美亚洲啪啪 | 精品国产一区二区三区久久久 | 黄色网址免费在线 | 性欧美xxxx免费岛国不卡电影 | 日本aⅴ在线 | 精品久久久久久亚洲精品 | 欧美成人一区二区视频 |