⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 动态取得win9598的网络邻居中的信息.htm

📁 对于学习很有帮助
💻 HTM
📖 第 1 页 / 共 2 页
字号:


<HTML><HEAD><TITLE>亦多EastDoor</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2919.6307" name=GENERATOR><link rel="stylesheet" href="../eastdoor.css"></HEAD>



<BODY bgColor=#ffffff text=#000066 vLink=#e0e0e0>
<TABLE align=center border=0 borderColorLight=#90 cellPadding=0 cellSpacing=0 
width=753>
  <TBODY> 
  <TR align=middle> 
    <TD width=200 valign="top"><img src="../image/logo.gif" width="200" height="70"></TD>
    <TD align=left height=56 vAlign=top width=603 colspan="2"> 
    <div align="right">
    <a href="http://202.113.29.120/">
    <img src="../image/titlesoft.gif" height="72" border="0" alt="亦多下载中心"></a>
    </div>
    </TD>
  </TR>
  </TBODY> 
</TABLE>

<div align="center"></div>
<TABLE align=center border=0 cellPadding=0 cellSpacing=1 width=755>
  <TBODY> 
  <TR> 
    <TD align=middle height=292 vAlign=top width="100%"> 
      <TABLE align=center border=0 cellPadding=0 cellSpacing=1 
      width="100%" bgcolor="#6699CC">
        <TBODY> 
        <TR align=left bgcolor="#FFFFFF"> 
          <TD colSpan=4 vAlign=top height=2> 
            <div align="left"> 
              <table width="100%" border=" 0" cellspacing="1">
                <tr bgcolor="#C1D6EA"> 
                  <td> 
                    <div align="center">-=<font color="#FFFF33">-</font> 编程中心 
                      <font color="#FFFF33">-</font>=-</div>
                  </td>
                </tr>
              </table>
            </div>
          </TD>
        </TR>
        <TR vAlign=middle bgcolor="#6699CC"> 
          <TD colSpan=4 height="325"> 
            <TABLE border=0 cellSpacing=0 height=100% width="100%" align="center">
              <TBODY> 
              <TR vAlign=top> 
                <TD width="67%" rowspan="2" bgcolor="#FFFFFF"> 
                <p align="center"><br><font size="3">动态取得Win95/98的网络邻居中的信息</font></p>
                如何在程序中动态取得Win95/98的网络邻居中的工作组及计算机名?可参考下面代码,或许有所帮助: <br>
 <br>
 procedure GetDomainList(TV:TTreeView); <br>
 <br>
 var <br>
 <br>
 a : Integer; <br>
 <br>
 ErrCode : Integer; <br>
 <br>
 NetRes : Array[0..1023] of TNetResource; <br>
 <br>
 EnumHandle : THandle; <br>
 <br>
 EnumEntries : DWord; <br>
 <br>
 BufferSize : DWord; <br>
 <br>
 s : string; <br>
 <br>
 itm : TTreeNode; <br>
 <br>
 begin <br>
 <br>
 { Start here } <br>
 <br>
 try <br>
 <br>
 With NetRes[0] do begin <br>
 <br>
 dwScope :=RESOURCE_GLOBALNET; <br>
 <br>
 dwType :=RESOURCETYPE_ANY; <br>
 <br>
 dwDisplayType :=RESOURCEDISPLAYTYPE_DOMAIN; <br>
 <br>
 dwUsage :=RESOURCEUSAGE_CONTAINER; <br>
 <br>
 lpLocalName :=NIL; <br>
 <br>
 lpRemoteName :=NIL; <br>
 <br>
 lpComment :=NIL; <br>
 <br>
 lpProvider :=NIL; <br>
 <br>
 end; <br>
 <br>
 { get net root } <br>
 <br>
 ErrCode:=WNetOpenEnum( <br>
 <br>
 RESOURCE_GLOBALNET, <br>
 <br>
 RESOURCETYPE_ANY, <br>
 <br>
 RESOURCEUSAGE_CONTAINER, <br>
 <br>
 @NetRes[0], <br>
 <br>
 EnumHandle <br>
 <br>
 ); <br>
 <br>
 If ErrCode=NO_ERROR then begin <br>
 <br>
 EnumEntries:=1; <br>
 <br>
 BufferSize:=SizeOf(NetRes); <br>
 <br>
 ErrCode:=WNetEnumResource( <br>
 <br>
 EnumHandle, <br>
 <br>
 EnumEntries, <br>
 <br>
 @NetRes[0], <br>
 <br>
 BufferSize <br>
 <br>
 ); <br>
 <br>
 WNetCloseEnum(EnumHandle); <br>
 <br>
 ErrCode:=WNetOpenEnum( <br>
 <br>
 RESOURCE_GLOBALNET, <br>
 <br>
 RESOURCETYPE_ANY, <br>
 <br>
 RESOURCEUSAGE_CONTAINER, <br>
 <br>
 @NetRes[0], <br>
 <br>
 EnumHandle <br>
 <br>
 ); <br>
 <br>
 EnumEntries:=1024; <br>
 <br>
 BufferSize:=SizeOf(NetRes); <br>
 <br>
 ErrCode:=WNetEnumResource( <br>
 <br>
 EnumHandle, <br>
 <br>
 EnumEntries, <br>
 <br>
 @NetRes[0], <br>
 <br>
 BufferSize <br>
 <br>
 ); <br>
 <br>
 IF ErrCode=No_Error then with TV do try <br>
 <br>
 a:=0; <br>
 <br>
 Items.BeginUpDate; <br>
 <br>
 Items.Clear; <br>
 <br>
 Itm:=Items.Add(TV.Selected,string(NetRes[0].lpProvider)); <br>
 <br>
 Itm.ImageIndex:=0; <br>
 <br>
 Itm.SelectedIndex:=0; <br>
 <br>
 { get domains } <br>
 <br>
   下面的一个单元定义了一个组件. TNetworkBrowser, 可以枚举hierachical树上所有的网络资源. 实际上浏览是要花费很长时间的,这您可以通过在WINDOWS资源管理器中打开"整个网络" 
 来比较一下. 如果你设置SCOPE属性 为nsContext , 你就可以看到和网络邻居中一样的机器列表. <br>
 <br>
 unit NetBrwsr; <br>
 <br>
 interface <br>
 <br>
 uses <br>
 <br>
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; <br>
 <br>
 type <br>
 <br>
 TNetScope = (nsConnected, nsGlobal, nsRemembered, nsContext); <br>
 <br>
 TNetResourceType = (nrAny, nrDisk, nrPrint); <br>
 <br>
 TNetDisplay = (ndDomain, ndGeneric, ndServer, ndShare, ndFile, ndGroup, <br>
 <br>
 ndNetwork, ndRoot, ndShareAdmin, ndDirectory, ndTree, ndNDSContainer); <br>
 <br>
 TNetUsage = set of (nuConnectable, nuContainer); <br>
 <br>
 TNetworkItems = class; <br>
 <br>
 TNetworkItem = class <br>
 <br>
 private <br>
 <br>
 FScope: TNetScope; <br>
 <br>
 FResourceType: TNetResourceType; <br>
 <br>
 FDisplay: TNetDisplay; <br>
 <br>
 FUsage: TNetUsage; <br>
 <br>
 FLocalName: string; <br>
 <br>
 FRemoteName: string; <br>
 <br>
 FComment: string; <br>
 <br>
 FProvider: string; <br>
 <br>
 FSubItems: TNetworkItems; <br>
 <br>
 public <br>
 <br>
 constructor Create; <br>
 <br>
 destructor Destroy; override; <br>
 <br>
 property Scope: TNetScope read FScope; <br>
 <br>
 property ResourceType: TNetResourceType read FResourceType; <br>
 <br>
 property Display: TNetDisplay read FDisplay; <br>
 <br>
 property Usage: TNetUsage read FUsage; <br>
 <br>
 property LocalName: string read FLocalName; <br>
 <br>
 property RemoteName: string read FRemoteName; <br>
 <br>
 property Comment: string read FComment; <br>
 <br>
 property Provider: string read FProvider; <br>
 <br>
 property SubItems: TNetworkItems read FSubItems; <br>
 <br>
 end; <br>
 <br>
 TNetworkItems = class <br>
 <br>
 private <br>
 <br>
 FList: TList; <br>
 <br>
 procedure SetItem(Index: Integer; Value: TNetworkItem); <br>
 <br>
 function GetItem(Index: Integer): TNetworkItem; <br>
 <br>
 function GetCount: Integer; <br>
 <br>
 public <br>
 <br>
 constructor Create; <br>
 <br>
 destructor Destroy; override; <br>
 <br>
 procedure Clear; <br>
 <br>
 procedure Add(Item: TNetworkItem); <br>
 <br>
 procedure Delete(Index: Integer); <br>
 <br>
 property Items[Index: Integer]: TNetworkItem read GetItem write <br>
 <br>
 SetItem; default; <br>
 <br>
 property Count: Integer read GetCount; <br>
 <br>
 end; <br>
 <br>
 TNetworkBrowser = class(TComponent) <br>
 <br>
 private <br>
 <br>
 FItems: TNetworkItems; <br>
 <br>
 FScope: TNetScope; <br>
 <br>
 FResourceType: TNetResourceType; <br>
 <br>
 FUsage: TNetUsage; <br>
 <br>
 FActive: Boolean; <br>
 <br>
 procedure Refresh; <br>
 <br>
 procedure SetActive(Value: Boolean); <br>
 <br>
 procedure SetScope(Value: TNetScope); <br>
 <br>
 procedure SetResourceType(Value: TNetResourceType); <br>
 <br>
 procedure SetUsage(Value: TNetUsage); <br>
 <br>
 procedure EnumerateNet(NetItems: TNetworkItems; lpnr: PNetResource); <br>
 <br>
 protected <br>
 <br>
 public <br>
 <br>
 constructor Create(AOwner: TComponent); override; <br>
 <br>
 destructor Destroy; override; <br>
 <br>
 procedure Open; <br>
 <br>
 procedure Close; <br>
 <br>
 property Items: TNetworkItems read FItems; <br>
 <br>
 published <br>
 <br>
 property Scope: TNetScope read FScope write SetScope default nsGlobal; <br>
 <br>
 property ResourceType: TNetResourceType read FResourceType <br>
 <br>
 write SetResourceType default nrAny; <br>
 <br>
 property Usage: TNetUsage read FUsage write SetUsage default []; <br>
 <br>
 property Active: Boolean read FActive write SetActive default False; <br>
 <br>
 end; <br>
 <br>
 implementation <br>
 <br>
 type <br>
 <br>
 PNetResourceArray = ^TNetResourceArray; <br>
 <br>
 TNetResourceArray = array[0..0] of TNetResource; <br>
 <br>
 { TNetworkItem } <br>
 <br>
 constructor TNetworkItem.Create; <br>
 <br>
 begin <br>
 <br>
 inherited; <br>
 <br>
 FSubItems := TNetworkItems.Create; <br>
 <br>
 end; <br>
 <br>
 destructor TNetworkItem.Destroy; <br>
 <br>
 begin <br>
 <br>
 if FSubItems <> nil then <br>
 <br>
 FSubItems.Free; <br>
 <br>
 inherited; <br>
 <br>
 end; <br>
 <br>
 { TNetworkItems } <br>
 <br>
 constructor TNetworkItems.Create; <br>
 <br>
 begin <br>
 <br>
 inherited; <br>
 <br>
 FList := TList.Create; <br>
 <br>
 end; <br>
 <br>
 destructor TNetworkItems.Destroy; <br>
 <br>
 begin <br>
 <br>
 Clear; <br>
 <br>
 if FList <> nil then <br>
 <br>
 FList.Free; <br>
 <br>
 inherited; <br>
 <br>
 end; <br>
 <br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -