摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:43315186
 ★★photoshop学友-10万图书免费看★★
 位置:编程开发>Deiphi>Deiphi网络编程
◎→ 本类最新
在Delphi程序中应用IE浏览器控件
在DELPHI程序中拨号上网
远程程序运行状态的简单监控
在Delphi中实现ASP编程
在工作组中寻找所有的计算机
在程序中实现网站链接和发送邮件
在IE上增添一个按钮
◎→相关资源
VB窗体文章
HTML入门教程
JavaScript入门教程
VbScript入门教程
ASP.net入门教程
C语言入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
用DELPHI通过写注册表来实现建立
网络积件再思考。(其实也只是胡
Delphi中动画设计(2)
Delphi中动画设计
Delphi无标题窗口的移动
用Delphi实现文件下载的方法
Delphi数据库编程一日通(3)

DELPHI在局域网中的一则应用


日期:2008-9-2 21:26:00    来源:
   
 -->用DELPHI通过写注册表来实现建立IIS的虚拟目录!
 -->开发一个基于DCOM的局域网聊天室(三)(2)
 -->在Delphi中应用AOP实现日志功能

DELPHI在局域网中的一则应用


作者: 周勇

如果您是一位局域网的系统管理员的话,肯定要经常对连接在局域网中的各个工作组进行管理和维修,并对每一台工作组建立相关的信息档案,以后只要根据这些档案信息就知道对应的工作组的运行情况,从而可以大大提高管理的效率了。此时,可能有人说,要查看这些工作组的信息,不是还要一台一台地打开、一台一台地查看吗?的确,如果还是这样操作的话,工作效率肯定还是不会提高,那么我们有没有办法同时获取局域网中的每一台工作组的信息呢?答案当然是肯定的,我们可以使用DELPHI中的WIN API来获取局域网中的每一台工作组的信息,下面是获取工作组信息的源代码:

Function GetServerList( var List : TStringList ) : Boolean;
Var //显示所有工作组的名称
NetResource : TNetResource;
Buf : Pointer;
Count,BufSize,Res : DWORD;
lphEnum : THandle;
p : TNetResourceArray;
i,j : SmallInt;
NetworkTypeList : TList; //返回局域网中的工作组名称
Begin
Result := 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);//执行失败
//获取整个网络中的网络类型信息
Count := $FFFFFFFF;//不限资源数目
BufSize := 8192;//缓冲区大小设置为8K
GetMem(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//记录各个网络类型的信息
Begin
NetworkTypeList.Add(p);
Inc(P);
End;

//WNetCloseEnum关闭一个列举句柄
Res := WNetCloseEnum(lphEnum);//关闭一次列举
If Res <> NO_ERROR Then exit;
For J := 0 To NetworkTypeList.Count-1 Do //列出各个网络类型中的所有工作组名称
Begin//列出一个网络类型中的所有工作组名称
NetResource := TNetResource(NetworkTypeList.Items[J]^);//网络类型信息
//获取某个网络类型的文件资源的句柄,NetResource为网络类型信息,lphEnum为返回名柄
Res := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,RESOURCEUSAGE_CONTAINER, @NetResource,lphEnum);
If Res <> NO_ERROR Then break;//执行失败
While true Do//列举一个网络类型的所有工作组的信息
Begin
Count := $FFFFFFFF;//不限资源数目
BufSize := 8192;//缓冲区大小设置为8K
GetMem(Buf, BufSize);//申请内存,用于获取工作组信息
//获取一个网络类型的文件资源信息,
Res := WNetEnumResource(lphEnum, 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//列举各个工作组的信息
Begin
List.Add( StrPAS( P^.lpRemoteName ));//取得一个工作组的名称
Inc(P);
End;
End;
Res := WNetCloseEnum(lphEnum);//关闭一次列举
If Res <> NO_ERROR Then break;//执行失败
End;
Result := True;
FreeMem(Buf);
NetworkTypeList.Destroy;
End;


以上是通过DELPHI中的WIN API来获取局域网中的工作组信息,当然我们同样可以使用WIN API来获取局域网中的服务器以及其他终端信息,大家不妨按照上面的设计思路来试验一下。

 [1]

Delphi中动画设计(2)

开发一个基于DCOM的局域网聊天室(三)(1)

资源文件的应用

--->LanExplorer_局域网搜索软件
--->Netscape Browser V8.13┊被广泛应用于互联网的第一款浏览器┊英文绿色免费版
--->电脑应用一软通 V1.03
--->Archivarius 3000 V3.88┊可搜索局域网和计算机上的程序┊多国语言绿色特别版
--->MoleBox Pro V2.63┊将应用程序和所有数据全部打包到一个exe┊汉化绿色特别版
Tags:  DELPHI 局域网 应用
{$enumber$}


芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们