可以用网络列举函数,查一下,名字好象叫NetworkEnum...,现在手头没有msdn.要不你自己帮忙查一下吧.
解决方案 »
- 使用Delphi时,使用Sqlite3查询的结果集如何赋值给DBGrid
- frReport的RebuildPrinter属性是哪个版本才有的
- 如何设计一个录入控件,类似信纸的样子,有行线。用来录入一些大的备注字段。
- 弧形文字效果是怎样做出来的?
- 有谁知道在程序里使机箱的小喇叭发声??MessageBeep()、Beep好像都不行,谁知道??
- 在delphi中调用动态链接库的问题!!!
- 关于ado控件与oracle数据库连接 50分
- delphi编译程序不生成dcu文件
- 哪位知道clone方法的用法,有详细例子的更好。
- 帮我看一下这段程序是否有问题?
- 万分感谢!请问谁有DELPHI下的OUTLOOK式窗体控件?如有请发:[email protected]
- 请问delphi中的错误信息?
var
NetResArray1,
NetResArray2,
NetResArray3: Array[0..1023] of TNetResource; R, hEnum, NetResLen: DWORD;
Count1,Count2,Count3:DWORD; NetResource: TNetResource; DomainName,ComputerName:string; i,j,k:integer;
begin
//
Result:=''; NetResource.dwScope:=2;
NetResource.dwType:=3;
NetResource.dwDisplayType:=2;
NetResource.dwUsage:=2;
NetResource.lpLocalName:=nil;
NetResource.lpRemoteName:=nil;
NetResource.lpComment:=nil;
NetResource.lpProvider:=nil;
r:=WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER,@NetResource,hEnum);
if r<>NO_ERROR then
Exit; Count1:=$FFFFFFFF;
NetResLen:=SizeOf(NetResArray1);
r:=WNetEnumResource(hEnum,Count1,@NetResArray1[0],NetResLen); WNetCloseEnum(hEnum); for i:=0 to Count1-1 do
begin
NetResource:=NetResArray1[i];
r:=WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER,@NetResource,hEnum);
if r<>NO_ERROR then
Continue; Count2:=$FFFFFFFF;
NetResLen:=SizeOf(NetResArray2);
r:=WNetEnumResource(hEnum,Count2,@NetResArray2[0],NetResLen);
WNetCloseEnum(hEnum); for j:=0 to Count2-1 do
begin
DomainName:=Copy(NetResArray2[j].lpRemoteName,1,255);
NetResource:=NetResArray2[j];
r:=WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER,@NetResource,hEnum);
if r<>NO_ERROR then
Continue; Count3:=$FFFFFFFF;
NetResLen:=SizeOf(NetResArray3);
r:=WNetEnumResource(hEnum,Count3,@NetResArray3[0],NetResLen);
WNetCloseEnum(hEnum); for k:=0 to Count3-1 do
begin
ComputerName:=Copy(NetResArray3[k].lpRemoteName,3,255);
if lowercase(ComputerName)=lowercase(Computer) then
begin
Result:=DomainName;
Break
end;
end;
if Result<>'' then Break;
end;
if Result<>'' then Break;
end;
end;