ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:19.48KB ,
资源ID:9529413      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9529413.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DELPHI7网络函数大全.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DELPHI7网络函数大全.docx

1、DELPHI7网络函数大全网络函数大全 =功 能: 网络函数库时 间: 2002/10/02版 本: 1.0=unit Net;interfaceusesSysUtils,Windows,dialogs,winsock,Classes,ComObj,WinInet;/得到本机的局域网Ip地址Function GetLocalIp(var LocalIp:string): Boolean;/通过Ip返回机器名Function GetNameByIPAddr(IPAddr: string; var MacName: string): Boolean ;/获取网络中SQLServer列表Functi

2、on GetSQLServerList(var List: Tstringlist): Boolean;/获取网络中的所有网络类型Function GetNetList(var List: Tstringlist): Boolean;/获取网络中的工作组Function GetGroupList(var List: TStringList): Boolean;/获取工作组中所有计算机Function GetUsers(GroupName: string; var List: TStringList): Boolean;/获取网络中的资源Function GetUserResource(IpAd

3、dr: string; var List: TStringList): Boolean;/映射网络驱动器Function NetAddConnection(NetPath: Pchar; PassWord: Pchar;LocalPath: Pchar): Boolean;/检测网络状态Function CheckNet(IpAddr:string): Boolean;/检测机器是否登入网络Function CheckMacAttachNet: Boolean;/判断Ip协议有没有安装 这个函数有问题Function IsIPInstalled : boolean;/检测机器是否上网Funct

4、ion InternetConnected: Boolean;implementation=功 能: 检测机器是否登入网络参 数: 无返回值: 成功: True 失败: False备 注:版 本:1.0 2002/10/03 09:55:00=Function CheckMacAttachNet: Boolean;beginResult := False;if GetSystemMetrics(SM_NETWORK) 0 thenResult := True;end;=功 能: 返回本机的局域网Ip地址参 数: 无返回值: 成功: True, 并填充LocalIp 失败: False备 注:版

5、 本:1.0 2002/10/02 21:05:00=function GetLocalIP(var LocalIp: string): Boolean;varHostEnt: PHostEnt;Ip: string;addr: pchar;Buffer: array 0.63 of char;GInitData: TWSADATA;beginResult := False;tryWSAStartup(2, GInitData);GetHostName(Buffer, SizeOf(Buffer);HostEnt := GetHostByName(buffer);if HostEnt = ni

6、l then Exit;addr := HostEnt.h_addr_list;ip := Format(%d.%d.%d.%d, byte(addr 0),byte (addr 1), byte (addr 2), byte (addr 3);LocalIp := Ip;Result := True;finallyWSACleanup;end;end;=功 能: 通过Ip返回机器名参 数:IpAddr: 想要得到名字的Ip返回值: 成功: 机器名 失败: 备 注:inet_addr function converts a string containing an InternetProtoc

7、ol dotted address into an in_addr.版 本:1.0 2002/10/02 22:09:00=function GetNameByIPAddr(IPAddr : String;var MacName:String): Boolean;varSockAddrIn: TSockAddrIn;HostEnt: PHostEnt;WSAData: TWSAData;beginResult := False;if IpAddr = then exit;tryWSAStartup(2, WSAData);SockAddrIn.sin_addr.s_addr := inet_a

8、ddr(PChar(IPAddr);HostEnt := gethostbyaddr(SockAddrIn.sin_addr.S_addr, 4, AF_INET);if HostEnt nil thenMacName := StrPas(Hostent.h_name);Result := True;finallyWSACleanup;end;end;=功 能: 返回网络中SQLServer列表参 数:List: 需要填充的List返回值: 成功: True,并填充List 失败 False备 注:版 本:1.0 2002/10/02 22:44:00=Function GetSQLServe

9、rList(var List: Tstringlist): boolean;vari: integer;sRetValue: String;SQLServer: Variant;ServerList: Variant;beginResult := False;List.Clear;trySQLServer := CreateOleObject(SQLDMO.Application);ServerList := SQLServer.ListAvailableSQLServers;for i := 1 to Serverlist.Count dolist.Add (Serverlist.item(

10、i);Result := True;FinallySQLServer := NULL;ServerList := NULL;end;end;=功 能: 判断Ip协议有没有安装参 数: 无返回值: 成功: True 失败: False;备 注: 该函数还有问题版 本:1.0 2002/10/02 21:05:00=Function IsIPInstalled : boolean;varWSData: TWSAData;ProtoEnt: PProtoEnt;beginResult := True;tryif WSAStartup(2,WSData) = 0 thenbeginProtoEnt :

11、= GetProtoByName(IP);if ProtoEnt = nil thenResult := Falseend;finallyWSACleanup;end;end;=功 能: 返回网络中的共享资源参 数:IpAddr: 机器IpList: 需要填充的List返回值: 成功: True,并填充List 失败: False;备 注:WNetOpenEnum function starts an enumeration of networkresources or existing connections.WNetEnumResource function continues a net

12、work-resourceenumeration started by the WNetOpenEnum function.版 本:1.0 2002/10/03 07:30:00=Function GetUserResource(IpAddr: string; var List: TStringList): Boolean;typeTNetResourceArray = TNetResource;/网络类型的数组Vari: Integer;Buf: Pointer;Temp: TNetResourceArray;lphEnum: THandle;NetResource: TNetResourc

13、e;Count,BufSize,Res: DWord;BeginResult := False;List.Clear;if copy(Ipaddr,0,2) thenIpAddr := +IpAddr; /填充Ip地址信息FillChar(NetResource, SizeOf(NetResource), 0);/初始化网络层次信息NetResource.lpRemoteName := IpAddr1;/指定计算机名称/获取指定计算机的网络资源句柄Res := WNetOpenEnum( RESOURCE_GLOBALNET, RESOURCETYPE_ANY,RESOURCEUSAGE_CO

14、NNECTABLE, NetResource,lphEnum);if Res NO_ERROR then exit;/执行失败while True do/列举指定工作组的网络资源beginCount := $FFFFFFFF;/不限资源数目BufSize := 8192;/缓冲区大小设置为8KGetMem(Buf, BufSize);/申请内存,用于获取工作组信息/获取指定计算机的网络资源名称Res := WNetEnumResource(lphEnum, Count, Pointer(Buf), BufSize);if Res = ERROR_NO_MORE_ITEMS then break

15、;/资源列举完毕if (Res NO_ERROR) then Exit;/执行失败Temp := TNetResourceArray(Buf);for i := 0 to Count - 1 dobegin/获取指定计算机中的共享资源名称,+2表示删除,/如192.168.0.1 = 192.168.0.1List.Add(Temp.lpRemoteName + 2);Inc(Temp);end;end;Res := WNetCloseEnum(lphEnum);/关闭一次列举if Res NO_ERROR then exit;/执行失败Result := True;FreeMem(Buf);

16、End;=功 能: 返回网络中的工作组参 数:List: 需要填充的List返回值: 成功: True,并填充List 失败: False;备 注:版 本:1.0 2002/10/03 08:00:00=Function GetGroupList( var List : TStringList ) : Boolean;typeTNetResourceArray = TNetResource;/网络类型的数组VarNetResource: TNetResource;Buf: Pointer;Count,BufSize,Res: DWORD;lphEnum: THandle;p: TNetReso

17、urceArray;i,j: SmallInt;NetworkTypeList: TList;BeginResult := False;NetworkTypeList := TList.Create;List.Clear;/获取整个网络中的文件资源的句柄,lphEnum为返回名柄Res := WNetOpenEnum( RESOURCE_GLOBALNET, RESOURCETYPE_DISK,RESOURCEUSAGE_CONTAINER, Nil,lphEnum);if Res NO_ERROR then exit;/Raise Exception(Res);/执行失败/获取整个网络中的网

18、络类型信息Count := $FFFFFFFF;/不限资源数目BufSize := 8192;/缓冲区大小设置为8KGetMem(Buf, BufSize);/申请内存,用于获取工作组信息Res := WNetEnumResource(lphEnum, Count, Pointer(Buf), BufSize);/资源列举完毕 /执行失败if ( Res = ERROR_NO_MORE_ITEMS ) or (Res NO_ERROR ) then Exit;P := TNetResourceArray(Buf);for i := 0 to Count - 1 do/记录各个网络类型的信息be

19、ginNetworkTypeList.Add(p);Inc(P);end;Res := WNetCloseEnum(lphEnum);/关闭一次列举if Res NO_ERROR then exit;for j := 0 to NetworkTypeList.Count-1 do /列出各个网络类型中的所有工作组名称begin/列出一个网络类型中的所有工作组名称NetResource := TNetResource(NetworkTypeList.ItemsJ);/网络类型信息/获取某个网络类型的文件资源的句柄,NetResource为网络类型信息,lphEnum为返回名柄Res := WNe

20、tOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,RESOURCEUSAGE_CONTAINER, NetResource,lphEnum);if Res NO_ERROR then break;/执行失败while true do/列举一个网络类型的所有工作组的信息beginCount := $FFFFFFFF;/不限资源数目BufSize := 8192;/缓冲区大小设置为8KGetMem(Buf, BufSize);/申请内存,用于获取工作组信息/获取一个网络类型的文件资源信息,Res := WNetEnumResource(lphEnum,

21、 Count, Pointer(Buf), BufSize);/资源列举完毕 /执行失败if ( Res = ERROR_NO_MORE_ITEMS ) or (Res NO_ERROR) then break;P := TNetResourceArray(Buf);for i := 0 to Count - 1 do/列举各个工作组的信息beginList.Add( StrPAS( P.lpRemoteName );/取得一个工作组的名称Inc(P);end;end;Res := WNetCloseEnum(lphEnum);/关闭一次列举if Res NO_ERROR then break

22、;/执行失败end;Result := True;FreeMem(Buf);NetworkTypeList.Destroy;End;=功 能: 列举工作组中所有的计算机参 数:List: 需要填充的List返回值: 成功: True,并填充List 失败: False;备 注:版 本:1.0 2002/10/03 08:00:00=Function GetUsers(GroupName: string; var List: TStringList): Boolean;typeTNetResourceArray = TNetResource;/网络类型的数组Vari: Integer;Buf:

23、Pointer;Temp: TNetResourceArray;lphEnum: THandle;NetResource: TNetResource;Count,BufSize,Res: DWord;beginResult := False;List.Clear;FillChar(NetResource, SizeOf(NetResource), 0);/初始化网络层次信息NetResource.lpRemoteName := GroupName1;/指定工作组名称NetResource.dwDisplayType := RESOURCEDISPLAYTYPE_SERVER;/类型为服务器(工

24、作组)NetResource.dwUsage := RESOURCEUSAGE_CONTAINER;NetResource.dwScope := RESOURCETYPE_DISK;/列举文件资源信息/获取指定工作组的网络资源句柄Res := WNetOpenEnum( RESOURCE_GLOBALNET, RESOURCETYPE_DISK,RESOURCEUSAGE_CONTAINER, NetResource,lphEnum);if Res NO_ERROR then Exit; /执行失败while True do/列举指定工作组的网络资源beginCount := $FFFFFFF

25、F;/不限资源数目BufSize := 8192;/缓冲区大小设置为8KGetMem(Buf, BufSize);/申请内存,用于获取工作组信息/获取计算机名称Res := WNetEnumResource(lphEnum, Count, Pointer(Buf), BufSize);if Res = ERROR_NO_MORE_ITEMS then break;/资源列举完毕if (Res NO_ERROR) then Exit;/执行失败Temp := TNetResourceArray(Buf);for i := 0 to Count - 1 do/列举工作组的计算机名称begin/获取工作组的计算机名称,+2表示删除,如wangfajun=wangfajunList.Add(Temp.lpRemoteName + 2);inc(Temp);end;end;Res := WNetCloseEnum(lphEnum);/关闭一次列举if Res NO_ERROR then exit;/执行失败Result := True;FreeMem(Buf);end;=功 能: 列举所有网络类型参 数:List: 需要填充的List返回值: 成功: True,并填充List 失败: False;备 注:版 本:1.0 2002/10/03 08:54:00=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1