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

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

?? 查看網上鄰居的控件源碼 (2001年5月17日).txt

?? 自己對DELPHI學習的一點體會
?? TXT
字號:
查看網上鄰居的控件源碼 (2001年5月17日) 

本站更新  分類:局域網,通訊   作者:Vijendra Kumar H.  推薦:   閱讀次數:268  
(http://www.codesky.net)  

--------------------------------------------------------------------------------
{ TNetUsers VCL component for Delphi 2,3 & 4. 

Author : Vijendra Kumar H. 
Software Engineer 
Bangalore, INDIA. 
E-Mail : vijendrah@hotmail.com 

Desc : 
i) Retrieves all the network user names from the given domain 
If the user don't specify the domain name, it will take from 
the default domain(i.e. the domain to which the machine is 
connected) 
ii) Retrieves all Servers(Domains) on the Network 

Note : This component is a freeware and can be used by anyone. If you 
use it for a commercial products, please give credit to me. 
You may modify the source code to your desire and if you make any 
cool modifications, please send me the mods!!! :-) 

For getting the default domain name, I had tried a lot and atlast 
I have followed searching the machine name in each domain. If anyone 
knows a better way of determining the default domain name, please 
inform me. 

Initial Release : 9th July 1998 
Mods for Delphi 4 : 15th Mar 1999 
Added GetServerList and Getting DefaultDomainName : 20th Mar 1999. 
} 

Unit NetUsers; 

Interface 

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

Type 
TNetUsers = Class(TComponent) 
Private 
fServer : String; 
Function GetUsers : Boolean; 
Protected 
Procedure SetServer(Server : String); 
Public 
List : TStringList; 
Constructor Create(Owner:TComponent); Override; 
Destructor Destroy; Override; 
Function GetServerList : Boolean; 
Function GetUserList : Boolean; 
Published 
Property Server :String Read fServer Write SetServer; 
End; 

PnetResourceArr = ^TNetResource; 

Procedure Register; 

Implementation 

Procedure TNetUsers.SetServer(Server : String); 
Begin 
If fServer <> Server Then 
fServer := Server; 
End; 

Constructor TNetUsers.Create(Owner:TComponent); 
Begin 
Inherited Create(Owner); 
If Not (csDesigning in ComponentState) Then 
Begin 
List := TStringList.Create; 
List.Sorted := True; 
End; 
End; 

Destructor TNetUsers.Destroy; 
Begin 
If Not(csDesigning In ComponentState) Then 
List.Destroy; 
Inherited Destroy; 
End; 

Function TNetUsers.GetServerList : Boolean; 
Type 
{$H+} 
PMyRec = ^MyRec; 
MyRec = Record 
dwScope : Integer; 
dwType : Integer; 
dwDisplayType : Integer; 
dwUsage : Integer; 
LocalName : String; 
RemoteName : String; 
Comment : String; 
Provider : String; 
End; 
{H-} 
Var 
NetResource : TNetResource; 
TempRec : PMyRec; 
Buf : Pointer; 
Count, 
BufSize, 
Res : DWORD; 
lphEnum : THandle; 
p : PNetResourceArr; 
i, 
j : SmallInt; 
NetworkTypeList : TList; 
Begin 
Result := False; 
NetworkTypeList := TList.Create; 
List.Clear; 
GetMem(Buf, 8192); 
Try 
Res := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, RESOURCEUSAGE_CONTAINER, Nil,lphEnum); 
If Res <> 0 Then Raise Exception(Res); 
Count := $FFFFFFFF; 
BufSize := 8192; 
Res := WNetEnumResource(lphEnum, Count, Pointer(Buf), BufSize); 
If Res = ERROR_NO_MORE_ITEMS Then Exit; 
If (Res <> 0) Then Raise Exception(Res); 
P := PNetResourceArr(Buf); 
For I := 0 To Count - 1 Do 
Begin 
New(TempRec); 
TempRec^.dwScope := P^.dwScope; 
TempRec^.dwType := P^.dwType ; 
TempRec^.dwDisplayType := P^.dwDisplayType ; 
TempRec^.dwUsage := P^.dwUsage ; 
TempRec^.LocalName := StrPas(P^.lpLocalName); 
TempRec^.RemoteName := StrPas(P^.lpRemoteName); 
TempRec^.Comment := StrPas(P^.lpComment); 
TempRec^.Provider := StrPas(P^.lpProvider); 
NetworkTypeList.Add(TempRec); 
Inc(P); 
End; 
Res := WNetCloseEnum(lphEnum); 
If Res <> 0 Then Raise Exception(Res); 
For J := 0 To NetworkTypeList.Count-1 Do 
Begin 
TempRec := NetworkTypeList.Items[J]; 
NetResource := TNetResource(TempRec^); 
Res := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, RESOURCEUSAGE_CONTAINER, @NetResource,lphEnum); 
If Res <> 0 Then Raise Exception(Res); 
While true Do 
Begin 
Count := $FFFFFFFF; 
BufSize := 8192; 
Res := WNetEnumResource(lphEnum, Count, Pointer(Buf), BufSize); 
If Res = ERROR_NO_MORE_ITEMS Then Break; 
If (Res <> 0) Then Raise Exception(Res); 
P := PNetResourceArr(Buf); 
For I := 0 To Count - 1 Do 
Begin 
List.Add(P^.lpRemoteName); 
Inc(P); 
End; 
End; 
End; 
Res := WNetCloseEnum(lphEnum); 
If Res <> 0 Then Raise Exception(Res); 
Result := True; 
Finally 
FreeMem(Buf); 
NetworkTypeList.Destroy; 
End; 
End; 

Function TNetUsers.GetUsers : Boolean; 
Var 
NetResource : TNetResource; 
Buf : Pointer; 
Count, 
BufSize, 
Res : DWord; 
Ind : Integer; 
lphEnum : THandle; 
Temp : PNetResourceArr; 
Begin 
Result := False; 
List.Clear; 
GetMem(Buf, 8192); 
Try 
FillChar(NetResource, SizeOf(NetResource), 0); 
NetResource.lpRemoteName := @fServer[1]; 
NetResource.dwDisplayType := RESOURCEDISPLAYTYPE_SERVER; 
NetResource.dwUsage := RESOURCEUSAGE_CONTAINER; 
NetResource.dwScope := RESOURCETYPE_DISK; 
Res := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, RESOURCEUSAGE_CONTAINER, @NetResource,lphEnum); 
If Res <> 0 Then Exit; 
While True Do 
Begin 
Count := $FFFFFFFF; 
BufSize := 8192; 
Res := WNetEnumResource(lphEnum, Count, Pointer(Buf), BufSize); 
If Res = ERROR_NO_MORE_ITEMS Then Exit; 
If (Res <> 0) then Exit; 
Temp := PNetResourceArr(Buf); 
For Ind := 0 to Count - 1 do 
Begin 
List.Add(Temp^.lpRemoteName + 2); { Add all the network usernames to List StringList } 
Inc(Temp); 
End; 
End; 
Res := WNetCloseEnum(lphEnum); 
If Res <> 0 Then Raise Exception(Res); 
Result := True; 
Finally 
FreeMem(Buf); 
End; 
End; 

Function TNetUsers.GetUserList : Boolean; 
Var 
ServerList : TStringList; 
TempInt, 
Ind : Integer; 
{$IFDEF VER100} 
MaxLen : Integer; 
{$ELSE} 
MaxLen : Cardinal; 
{$ENDIF} 
Buf : PChar; 
MachineName : String; 
Begin 
Result := False; 
If fServer = '' Then 
Begin 
If GetServerList Then 
Begin 
ServerList := List; 
GetMem(Buf,255); 
MaxLen := 255; 
GetComputerName(Buf, MaxLen); 
MachineName := StrPas(Buf); 
Freemem(Buf,255); 
For Ind := 0 to ServerList.Count-1 Do 
Begin 
fServer := ServerList.Strings[Ind]; 
If GetUsers Then 
If List.Find(MachineName, TempInt) Then 
Begin 
Result := True; 
Exit; 
End; 
End; 
End; 
End 
Else 
Result := GetUsers; 
End; 

Procedure Register; 
Begin 
RegisterComponents('HVK Utility', [TNetUsers]); 
End; 

End. 
 
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黑人巨大精品欧美一区| 国产精品伊人色| 欧美日韩一区三区| 一区二区中文视频| 色呦呦一区二区三区| 一区二区三区在线影院| 欧美伦理视频网站| 视频一区中文字幕| 26uuu精品一区二区| 国产成人精品网址| 亚洲免费观看视频| 91精品国产综合久久久久久久久久| 日本一区中文字幕| 3atv一区二区三区| 国产馆精品极品| 欧美一级欧美三级在线观看| 7777女厕盗摄久久久| 精品成人一区二区三区四区| 国产福利一区二区| 一区二区三区av电影| 91精品国产一区二区三区香蕉| 国产在线国偷精品免费看| 国产精品免费久久| 欧美精品日韩一本| 福利视频网站一区二区三区| 一区二区三区四区国产精品| 日韩一区二区三区电影| 国产99精品国产| 五月天婷婷综合| 日本一区二区三区四区| 在线观看91av| 成人av在线电影| 久久99精品国产91久久来源| 亚洲欧美乱综合| 久久精品一区二区三区不卡| 男人的j进女人的j一区| 91精品国产手机| 日韩欧美色综合| 亚洲二区视频在线| 久久精品人人做人人爽人人| 欧美伊人久久大香线蕉综合69| 韩国毛片一区二区三区| 午夜精品福利一区二区三区av | 亚洲欧美电影一区二区| 日韩欧美国产综合| 欧美日韩三级一区| 91同城在线观看| 国产高清不卡一区| 久久se精品一区二区| 亚洲福利一区二区三区| 亚洲人成网站精品片在线观看| 久久亚洲二区三区| 欧美一区二区在线观看| 欧美亚洲国产一区二区三区| 在线观看一区二区精品视频| 韩国欧美国产一区| 日本中文字幕不卡| 亚洲国产裸拍裸体视频在线观看乱了 | 国产suv精品一区二区6| 无码av免费一区二区三区试看 | 97精品国产露脸对白| 国内一区二区在线| 麻豆成人av在线| 美女被吸乳得到大胸91| 亚洲高清免费观看| 亚洲一区二区欧美激情| 久久你懂得1024| 日韩精品一区二区三区蜜臀| 欧美午夜理伦三级在线观看| 丰满放荡岳乱妇91ww| 一区二区三区精品在线| 久久婷婷国产综合精品青草| 色婷婷综合久久久中文字幕| 日韩高清不卡一区| 中文字幕日韩一区二区| 日韩美女主播在线视频一区二区三区 | 中文子幕无线码一区tr| 51久久夜色精品国产麻豆| 欧美日韩免费视频| 欧美日韩色综合| 91精品国产免费| 欧美一级午夜免费电影| 精品国产在天天线2019| 精品久久人人做人人爰| 欧美激情一区二区三区蜜桃视频| 国产亚洲欧美中文| 亚洲国产精品ⅴa在线观看| 国产精品热久久久久夜色精品三区| 国产日韩欧美亚洲| 亚洲欧洲日本在线| 亚洲成人一区二区| 强制捆绑调教一区二区| 狠狠狠色丁香婷婷综合久久五月| 国产精品一级在线| 99久久精品国产观看| 在线亚洲一区观看| 91精品国产91久久久久久最新毛片| 日韩一区二区免费在线观看| 久久蜜桃av一区二区天堂| 国产精品国产自产拍在线| 国产精品1024| 欧美成人性福生活免费看| 精品日韩一区二区| 亚洲伦在线观看| 国产自产2019最新不卡| 成人精品鲁一区一区二区| 在线看国产日韩| 色悠悠久久综合| 99精品视频在线观看免费| 在线中文字幕不卡| 欧美大尺度电影在线| 3atv在线一区二区三区| 欧美日韩高清不卡| 欧美成人一区二区三区片免费| 国产欧美日韩不卡| 蜜臀av一区二区在线观看| 91麻豆精品国产无毒不卡在线观看 | 国产成+人+日韩+欧美+亚洲| 日韩一级二级三级精品视频| 亚洲人快播电影网| 九九久久精品视频| 色综合久久久久综合| 亚洲视频一二三区| 久久机这里只有精品| www.欧美.com| 日韩精彩视频在线观看| 老司机精品视频线观看86| 日韩三区在线观看| 香港成人在线视频| 欧美国产精品一区二区三区| 国产精品1区2区3区| 亚洲国产视频在线| 国产精品蜜臀在线观看| 91.com视频| 成人国产精品免费网站| 中文字幕av在线一区二区三区| 91网上在线视频| 国产精品一级片| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产日韩三级在线| 成人免费视频国产在线观看| 污片在线观看一区二区| 欧美日韩你懂的| 黄一区二区三区| 中文字幕乱码日本亚洲一区二区 | www国产亚洲精品久久麻豆| 黄页网站大全一区二区| 亚洲精品欧美综合四区| 精品国产一区二区三区忘忧草 | 久久久国产精华| 色综合天天综合色综合av| 日韩电影一区二区三区| 国产色产综合产在线视频| 色综合天天综合给合国产| 一区二区中文字幕在线| 精品日韩欧美在线| 色综合天天在线| 国产ts人妖一区二区| 日韩av电影一区| 亚洲色图.com| 国产片一区二区三区| 91精品国产入口在线| 欧美伊人久久久久久午夜久久久久| 男男视频亚洲欧美| 午夜伦欧美伦电影理论片| 亚洲欧洲国产专区| 国产亚洲1区2区3区| 欧美成人在线直播| 欧美久久久久久蜜桃| 国产一区二区女| 亚州成人在线电影| 亚洲成人av在线电影| 一区二区三区蜜桃| 国产精品女上位| 国产精品免费丝袜| 日韩伦理免费电影| 中文字幕在线观看不卡| 国产欧美在线观看一区| 国产夜色精品一区二区av| 亚洲精品在线三区| 欧美xxxx在线观看| 日本一区二区免费在线观看视频| 欧美成人bangbros| 欧美精品一区男女天堂| 国产午夜精品一区二区三区四区| 日韩一区二区三区电影在线观看| 精品国产乱码久久久久久牛牛| 精品粉嫩aⅴ一区二区三区四区| 日韩精品资源二区在线| 欧美一区二区不卡视频| 亚洲精品一区二区三区影院| 2023国产一二三区日本精品2022| 久久精品视频一区二区三区| 国产欧美日韩在线看| 亚洲午夜激情网站| 狠狠色2019综合网| 在线中文字幕一区| 国产欧美精品在线观看| 中文字幕一区二区三| 麻豆成人免费电影|