亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 如何在程序中動態取得win9598的網絡鄰居中的工作.txt

?? delphi 編程技巧
?? TXT
字號:
如何在程序中動態取得Win95/98的網絡鄰居中的工作組及計算機名? (2000年9月9日) 

本站更新  分類:   作者:srw  推薦:   閱讀次數:1072  
(http://www.codesky.net)  

--------------------------------------------------------------------------------
[本文不能保證絕對正確, 僅供參考]

如何在程序中動態取得Win95/98的網絡鄰居中的工作組及計算機名?可參考下面代碼,或許有所幫助:

procedure GetDomainList(TV:TTreeView);
var
a : Integer;
ErrCode : Integer;
NetRes : Array[0..1023] of TNetResource;
EnumHandle : THandle;
EnumEntries : DWord;
BufferSize : DWord;
s : string;
itm : TTreeNode;
begin
{ Start here }
try
With NetRes[0] do begin
dwScope :=RESOURCE_GLOBALNET;
dwType :=RESOURCETYPE_ANY;
dwDisplayType :=RESOURCEDISPLAYTYPE_DOMAIN;
dwUsage :=RESOURCEUSAGE_CONTAINER;
lpLocalName :=NIL;
lpRemoteName :=NIL;
lpComment :=NIL;
lpProvider :=NIL;
end;
{ get net root }
ErrCode:=WNetOpenEnum(
RESOURCE_GLOBALNET,
RESOURCETYPE_ANY,
RESOURCEUSAGE_CONTAINER,
@NetRes[0],
EnumHandle
);
If ErrCode=NO_ERROR then begin
EnumEntries:=1;
BufferSize:=SizeOf(NetRes);
ErrCode:=WNetEnumResource(
EnumHandle,
EnumEntries,
@NetRes[0],
BufferSize
);
WNetCloseEnum(EnumHandle);
ErrCode:=WNetOpenEnum(
RESOURCE_GLOBALNET,
RESOURCETYPE_ANY,
RESOURCEUSAGE_CONTAINER,
@NetRes[0],
EnumHandle
);
EnumEntries:=1024;
BufferSize:=SizeOf(NetRes);
ErrCode:=WNetEnumResource(
EnumHandle,
EnumEntries,
@NetRes[0],
BufferSize
);
IF ErrCode=No_Error then with TV do try
a:=0;
Items.BeginUpDate;
Items.Clear;
Itm:=Items.Add(TV.Selected,string(NetRes[0].lpProvider));
Itm.ImageIndex:=0;
Itm.SelectedIndex:=0;

{ get domains }


下面的一個單元定義了一個組件. TNetworkBrowser, 可以枚舉hierachical樹上所有
的網絡資源. 實際上瀏覽是要花費很長時間的,這您可以通過在WINDOWS資源管理器
中打開"整個網絡" 來比較一下. 如果你設置SCOPE屬性 為nsContext , 你就可以看到
和網絡鄰居中一樣的機器列表.

unit NetBrwsr;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TNetScope = (nsConnected, nsGlobal, nsRemembered, nsContext);
TNetResourceType = (nrAny, nrDisk, nrPrint);
TNetDisplay = (ndDomain, ndGeneric, ndServer, ndShare, ndFile, ndGroup,
ndNetwork, ndRoot, ndShareAdmin, ndDirectory, ndTree, ndNDSContainer);
TNetUsage = set of (nuConnectable, nuContainer);

TNetworkItems = class;

TNetworkItem = class
private
FScope: TNetScope;
FResourceType: TNetResourceType;
FDisplay: TNetDisplay;
FUsage: TNetUsage;
FLocalName: string;
FRemoteName: string;
FComment: string;
FProvider: string;
FSubItems: TNetworkItems;
public
constructor Create;
destructor Destroy; override;
property Scope: TNetScope read FScope;
property ResourceType: TNetResourceType read FResourceType;
property Display: TNetDisplay read FDisplay;
property Usage: TNetUsage read FUsage;
property LocalName: string read FLocalName;
property RemoteName: string read FRemoteName;
property Comment: string read FComment;
property Provider: string read FProvider;
property SubItems: TNetworkItems read FSubItems;
end;

TNetworkItems = class
private
FList: TList;
procedure SetItem(Index: Integer; Value: TNetworkItem);
function GetItem(Index: Integer): TNetworkItem;
function GetCount: Integer;
public
constructor Create;
destructor Destroy; override;
procedure Clear;
procedure Add(Item: TNetworkItem);
procedure Delete(Index: Integer);
property Items[Index: Integer]: TNetworkItem read GetItem write
SetItem; default;
property Count: Integer read GetCount;
end;

TNetworkBrowser = class(TComponent)
private
FItems: TNetworkItems;
FScope: TNetScope;
FResourceType: TNetResourceType;
FUsage: TNetUsage;
FActive: Boolean;
procedure Refresh;
procedure SetActive(Value: Boolean);
procedure SetScope(Value: TNetScope);
procedure SetResourceType(Value: TNetResourceType);
procedure SetUsage(Value: TNetUsage);
procedure EnumerateNet(NetItems: TNetworkItems; lpnr: PNetResource);
protected
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Open;
procedure Close;
property Items: TNetworkItems read FItems;
published
property Scope: TNetScope read FScope write SetScope default nsGlobal;
property ResourceType: TNetResourceType read FResourceType
write SetResourceType default nrAny;
property Usage: TNetUsage read FUsage write SetUsage default [];
property Active: Boolean read FActive write SetActive default False;
end;

implementation

type
PNetResourceArray = ^TNetResourceArray;
TNetResourceArray = array[0..0] of TNetResource;

{ TNetworkItem }

constructor TNetworkItem.Create;
begin
inherited;
FSubItems := TNetworkItems.Create;
end;

destructor TNetworkItem.Destroy;
begin
if FSubItems <> nil then
FSubItems.Free;
inherited;
end;

{ TNetworkItems }

constructor TNetworkItems.Create;
begin
inherited;
FList := TList.Create;
end;

destructor TNetworkItems.Destroy;
begin
Clear;
if FList <> nil then
FList.Free;
inherited;
end;

procedure TNetworkItems.SetItem(Index: Integer; Value: TNetworkItem);
begin
if (FList.Items[Index] <> nil) and (FList.Items[Index] <> Value) then
TNetworkItem(FList.Items[Index]).Free;
FList.Items[Index] := Value;
end;

function TNetworkItems.GetItem(Index: Integer): TNetworkItem;
begin
Result := TNetworkItem(FList.Items[Index]);
end;

procedure TNetworkItems.Clear;
begin
while Count > 0 do
Delete(0);
end;

procedure TNetworkItems.Add(Item: TNetworkItem);
begin
FList.Add(Item);
end;

procedure TNetworkItems.Delete(Index: Integer);
begin
if FList.Items[Index] <> nil then
TNetworkItem(FList.Items[Index]).Free;
FList.Delete(Index);
end;

function TNetworkItems.GetCount: Integer;
begin
if FList <> nil then
Result := FList.Count
else
Result := 0;
end;

{ TNetworkBrowser }

constructor TNetworkBrowser.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FItems := TNetworkItems.Create;
FScope := nsGlobal;
FResourceType := nrAny;
FUsage := [];
end;

destructor TNetworkBrowser.Destroy;
begin
if FItems <> nil then
FItems.Free;
inherited;
end;

procedure TNetworkBrowser.EnumerateNet(NetItems: TNetworkItems; lpnr:
PNetResource);
var
dwResult, dwResultEnum: Integer;
hEnum: THandle;
cbBuffer, cEntries, i: Integer;
nrArray: PNetResourceArray;
NewItem: TNetworkItem;
dwScope, dwType, dwUsage: Integer;
begin
cbBuffer := 16384;
cEntries := $FFFFFFFF;

case FScope of
nsConnected: dwScope := RESOURCE_CONNECTED;
nsGlobal: dwScope := RESOURCE_GLOBALNET;
nsRemembered: dwScope := RESOURCE_REMEMBERED;
nsContext: dwScope := RESOURCE_CONTEXT;
else
dwScope := RESOURCE_GLOBALNET;
end;
case FResourceType of
nrAny: dwType := RESOURCETYPE_ANY;
nrDisk: dwType := RESOURCETYPE_DISK;
nrPrint: dwType := RESOURCETYPE_PRINT;
else
dwType := RESOURCETYPE_ANY;
end;
dwUsage := 0;
if nuConnectable in FUsage then
dwUsage := dwUsage or RESOURCEUSAGE_CONNECTABLE;
if nuContainer in FUsage then
dwUsage := dwUsage or RESOURCEUSAGE_CONTAINER;

dwResult := WNetOpenEnum(dwScope, dwType, dwUsage, lpnr, hEnum);
if dwResult <> NO_ERROR then Exit;

GetMem(nrArray, cbBuffer);
repeat
dwResultEnum := WNetEnumResource(hEnum, cEntries, nrArray, cbBuffer);
if dwResultEnum = NO_ERROR then
for i := 0 to cEntries-1 do
begin
NewItem := TNetworkItem.Create;
case nrArray[i].dwScope of
RESOURCE_CONNECTED: NewItem.FScope := nsConnected;
RESOURCE_GLOBALNET: NewItem.FScope := nsGlobal;
RESOURCE_REMEMBERED: NewItem.FScope := nsRemembered;
RESOURCE_CONTEXT: NewItem.FScope := nsContext;
else
NewItem.FScope := nsGlobal;
end;
case nrArray[i].dwType of
RESOURCETYPE_ANY: NewItem.FResourceType := nrAny;
RESOURCETYPE_DISK: NewItem.FResourceType := nrDisk;
RESOURCETYPE_PRINT: NewItem.FResourceType := nrPrint;
else
NewItem.FResourceType := nrAny;
end;
case nrArray[i].dwDisplayType of
RESOURCEDISPLAYTYPE_GENERIC: NewItem.FDisplay := ndGeneric;
RESOURCEDISPLAYTYPE_DOMAIN: NewItem.FDisplay := ndDomain;
RESOURCEDISPLAYTYPE_SERVER: NewItem.FDisplay := ndServer;
RESOURCEDISPLAYTYPE_SHARE: NewItem.FDisplay := ndShare;
RESOURCEDISPLAYTYPE_FILE: NewItem.FDisplay := ndFile;
RESOURCEDISPLAYTYPE_GROUP: NewItem.FDisplay := ndGroup;
RESOURCEDISPLAYTYPE_NETWORK: NewItem.FDisplay := ndNetwork;
RESOURCEDISPLAYTYPE_ROOT: NewItem.FDisplay := ndRoot;
RESOURCEDISPLAYTYPE_SHAREADMIN: NewItem.FDisplay :=
ndShareAdmin;
RESOURCEDISPLAYTYPE_DIRECTORY: NewItem.FDisplay :=
ndDirectory;
RESOURCEDISPLAYTYPE_TREE: NewItem.FDisplay := ndTree;
RESOURCEDISPLAYTYPE_NDSCONTAINER: NewItem.FDisplay :=
ndNDSContainer;
else
NewItem.FDisplay := ndGeneric;
end;
NewItem.FUsage := [];
if nrArray[i].dwUsage and RESOURCEUSAGE_CONNECTABLE <> 0 then
Include(NewItem.FUsage, nuConnectable);
if nrArray[i].dwUsage and RESOURCEUSAGE_CONTAINER <> 0 then
Include(NewItem.FUsage, nuContainer);
NewItem.FLocalName := StrPas(nrArray[i].lpLocalName);
NewItem.FRemoteName := StrPas(nrArray[i].lpRemoteName);
NewItem.FComment := StrPas(nrArray[i].lpComment);
NewItem.FProvider := StrPas(nrArray[i].lpProvider);
NetItems.Add(NewItem);
// if container, call recursively
if (nuContainer in NewItem.FUsage) and (FScope <> nsContext) then
EnumerateNet(NewItem.FSubItems, @nrArray[i])
end;
until dwResultEnum = ERROR_NO_MORE_ITEMS;

FreeMem(nrArray);
WNetCloseEnum(hEnum);
end;

procedure TNetworkBrowser.Refresh;
begin
FItems.Clear;
if FActive then
EnumerateNet(FItems, nil);
end;

procedure TNetworkBrowser.SetActive(Value: Boolean);
begin
if Value <> FActive then
begin
FActive := Value;
Refresh;
end;
end;

procedure TNetworkBrowser.SetScope(Value: TNetScope);
begin
if Value <> FScope then
begin
FScope := Value;
Refresh;
end;
end;

procedure TNetworkBrowser.SetResourceType(Value: TNetResourceType);
begin
if Value <> FResourceType then
begin
FResourceType := Value;
Refresh;
end;
end;

procedure TNetworkBrowser.SetUsage(Value: TNetUsage);
begin
if Value <> FUsage then
begin
FUsage := Value;
Refresh;
end;
end;

procedure TNetworkBrowser.Open;
begin
Active := True;
end;

procedure TNetworkBrowser.Close;
begin
Active := False;
end;

end.

==============================================
http://leonyxl.yeah.net/ 
==============================================

 
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日日摸夜夜添夜夜添精品视频 | 国产伦精品一区二区三区免费迷| 亚洲6080在线| av激情亚洲男人天堂| 精品一二三四区| 黄页视频在线91| 国模娜娜一区二区三区| 激情综合色播激情啊| 亚洲成人精品一区二区| 五月天婷婷综合| 亚洲va欧美va人人爽午夜| 亚洲国产日韩一区二区| 狠狠色丁香久久婷婷综合_中| 国产69精品久久久久毛片| 在线亚洲一区二区| 国产清纯白嫩初高生在线观看91| 一级精品视频在线观看宜春院| 日韩—二三区免费观看av| 国产成人免费视频一区| 91极品视觉盛宴| 精品第一国产综合精品aⅴ| 中文字幕综合网| 日本成人在线视频网站| 日本丰满少妇一区二区三区| 久久久久久久久一| 美女诱惑一区二区| 日韩三级电影网址| 欧美videofree性高清杂交| 蜜臀av一级做a爰片久久| 精品国产亚洲在线| 国产成人av在线影院| 亚洲另类在线制服丝袜| 日韩亚洲国产中文字幕欧美| 亚洲成人自拍一区| 在线不卡中文字幕| 蜜桃av一区二区| 久久亚洲欧美国产精品乐播| 久久精品国产成人一区二区三区| 欧美电影一区二区| 精品一区二区三区av| 久久精品亚洲乱码伦伦中文| 成人免费黄色大片| 亚洲自拍都市欧美小说| 91麻豆精品国产91久久久资源速度| 日本中文字幕一区| 国产三级一区二区| 国产亚洲欧美一级| 91久久香蕉国产日韩欧美9色| 亚洲成人777| 国产精品午夜免费| 欧美日韩精品欧美日韩精品一 | 亚洲三级理论片| 欧美一二区视频| 不卡的看片网站| 久久99精品视频| 亚洲欧美偷拍另类a∨色屁股| 欧美日韩情趣电影| 不卡一卡二卡三乱码免费网站| 日本女人一区二区三区| 国产精品激情偷乱一区二区∴| 69久久夜色精品国产69蝌蚪网| 成人激情av网| 国产美女在线观看一区| 日韩精品福利网| 亚洲午夜激情av| 亚洲无线码一区二区三区| 国产精品短视频| 国产欧美日韩精品在线| 欧美mv日韩mv亚洲| 91精品午夜视频| 欧美日韩高清一区| 欧美性一二三区| 欧美日本高清视频在线观看| 91福利资源站| 在线电影院国产精品| 欧美日本一区二区三区| 欧美精品日韩综合在线| 欧美日韩国产成人在线免费| 欧美日韩国产首页| 欧美日韩卡一卡二| 色婷婷一区二区| 91免费看`日韩一区二区| 亚洲国产精品黑人久久久 | 亚洲美女少妇撒尿| 中文字幕高清一区| 精品国产髙清在线看国产毛片| 欧美日韩精品专区| 91精品国产欧美日韩| 欧美日韩一级二级| 久久综合色之久久综合| 91精品国产综合久久精品| 91麻豆精品国产自产在线观看一区 | 一区二区三区 在线观看视频| 精品女同一区二区| 国产欧美一区二区精品婷婷| 国产清纯白嫩初高生在线观看91| 欧美在线播放高清精品| 激情文学综合网| 中文字幕在线观看一区二区| 国产蜜臀av在线一区二区三区 | 欧美一区二区三区在| 国产偷v国产偷v亚洲高清| 中文字幕日韩欧美一区二区三区| 亚洲精品成人悠悠色影视| 亚洲成a人片综合在线| 精品一区二区三区久久久| 欧美在线影院一区二区| 日韩一区二区三区在线观看 | 奇米影视一区二区三区小说| 全部av―极品视觉盛宴亚洲| 国产不卡免费视频| 欧美性猛片xxxx免费看久爱| 欧美国产精品一区二区| 免费观看成人鲁鲁鲁鲁鲁视频| 国模冰冰炮一区二区| 粉嫩aⅴ一区二区三区四区| 日韩欧美一区二区视频| 亚洲免费视频中文字幕| 成人av免费观看| 欧美一区二区三区喷汁尤物| 久久人人97超碰com| 亚洲成av人片在www色猫咪| 韩国精品久久久| 日本韩国一区二区| 亚洲欧洲精品成人久久奇米网| 天天做天天摸天天爽国产一区| 色综合中文综合网| 欧美精品一卡两卡| 午夜精品成人在线| 日韩欧美不卡在线观看视频| 国产精品一二三四五| 亚洲欧洲在线观看av| 国产v综合v亚洲欧| 日韩免费看网站| 麻豆国产一区二区| 亚洲午夜久久久久久久久久久| 一本色道久久加勒比精品 | 亚洲精品久久7777| 91精品福利在线| 亚洲卡通欧美制服中文| 3d成人h动漫网站入口| 五月激情六月综合| 91精品国产一区二区三区 | av在线一区二区| 日韩高清在线电影| 欧美va亚洲va香蕉在线| 国产91丝袜在线播放| 亚洲欧洲精品一区二区三区不卡| 色女孩综合影院| 国产一区二区三区久久久| 国产精品免费看片| 欧美三级日韩在线| 国产一区日韩二区欧美三区| 国产精品盗摄一区二区三区| 日本韩国视频一区二区| 国产电影一区在线| 亚洲影视在线播放| 久久―日本道色综合久久| 琪琪久久久久日韩精品| 国产清纯白嫩初高生在线观看91 | 欧美在线啊v一区| 国产精品亚洲一区二区三区妖精 | 日日噜噜夜夜狠狠视频欧美人 | 亚洲国产一区二区视频| 在线不卡a资源高清| 日本道免费精品一区二区三区| 精品一区二区三区日韩| 亚洲国产色一区| 亚洲自拍偷拍网站| 国产精品视频观看| 日韩欧美中文字幕精品| 欧美精品久久久久久久多人混战 | 亚洲精品久久嫩草网站秘色| 久久色视频免费观看| 91.com视频| 欧美一区二区三区视频在线| 91九色02白丝porn| 色婷婷国产精品久久包臀 | 97国产一区二区| 99久久免费视频.com| 国产麻豆视频一区二区| 久久精品国产77777蜜臀| 久久国产人妖系列| 韩国精品一区二区| 欧美色男人天堂| 在线不卡中文字幕| 日韩欧美一区中文| 欧美精品一区二区三区蜜臀| 欧美午夜精品久久久久久超碰| 日韩欧美国产不卡| 国产欧美日韩亚州综合| 久久免费国产精品| 日本一区二区三区四区| 中文字幕av不卡| 一区二区三区四区在线| 性做久久久久久免费观看| 日本女人一区二区三区| 国产成人综合在线观看| 色一情一乱一乱一91av| 777a∨成人精品桃花网|