如何获取计算机呀,请大家帮忙呀?
解决方案 »
- masm615怎样链接obj文件?
- 如何获取上网卡信息
- Delphi7中的问题
- 苦恼!为什么菜鸟的分一下子就用光光呢?:(
- 请教各位高手
- 关于RichEdit控件的两个问题
- 使用安装的控件,编译时出错--"?????.dcu"文件不能找到???
- DBGrid如何显示88.88%这种格式?或者ADOQuery如何(动态)控制字段格式?
- 如何写一个程序向网页中的表单发送数据,又如何得到其反馈信息?????
- 那位哥们能提供李维的书下载?
- 有关ADO/MIDAS(TADOQuery+TDataSetProvider+TClientDataSet)
- 请问如何将TDateTime类型转换成PFileTime类型?
varPHt:PHostEnt;WSData: TWSAData;i:Word;j:integer;k:u_long;beginresult:=false;i:=MAKEWORD(1,1);if WSAStartup(i,WSData)<>0 then exit;k:=inet_addr(PChar(MIP));PHt:=gethostbyaddr(@k,4,PF_INET);if PHt=nil then beginj:=WSAGetLastError;Name:='Error:'+inttostr(j-WSABASEERR);end else beginName:=PHt.h_name;result:=true;end;WSACleanup;end;
PnetResourceArr = ^TNetResource; //
..............
procedure GetUserList(fServer:string;List:TListItems);
Var
NetResource : TNetResource;
Buf : Pointer;
Count,
BufSize,
Res : DWord;
Ind : Integer;
lphEnum : THandle;
Temp : PNetResourceArr;
item:TListItem;
Begin
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
Item := form1.user_box.Items.Insert(0);
Item.Caption := Temp^.lpRemoteName + 2;
Inc(Temp);
End;
End;
Res := WNetCloseEnum(lphEnum);
If Res <> 0 Then Raise Exception(Res);
Finally
FreeMem(Buf);
End;End;
..................
procedure TForm1.FormCreate(Sender: TObject);
begin
GetUserList('TTN',listview1.Items);
end;..........................