Ne znam da li ce ti ovo pomoci ... ali vidi i sam :
Code:
unit uNetworkNeighborhood;
interface
uses Windows, SysUtils, shlobj, shellapi, ActiveX;
function GetRemouteComputerName( aPromptMsg : string): string;
implementation
function GetRemouteComputerName( aPromptMsg : string): string;
var
tmpBrwsInf : TBrowseInfo;
tmpCompName : array[0..MAX_PATH] of Char;
pidlToNetwork : PItemIDList;
tmpPIDL : PItemIDList;
tmpIMalloc : IMalloc;
begin
result := EmptyStr;
tmpPIDL := nil;
FillMemory(@tmpBrwsInf, SizeOf(TBrowseInfo), 0);
FillChar(tmpCompName, SizeOf(tmpCompName), #0);
SHGetMalloc(tmpIMalloc);
if Assigned(tmpIMalloc) then
begin
try
tmpBrwsInf.hwndOwner := 0;
tmpBrwsInf.pszDisplayName := tmpCompName;
tmpBrwsInf.lpszTitle := PChar(aPromptMsg);
tmpBrwsInf.ulFlags := BIF_RETURNFSANCESTORS or BIF_BROWSEFORCOMPUTER;
tmpBrwsInf.lpfn := nil;
tmpBrwsInf.lParam := 0;
SHGetSpecialFolderLocation( 0, CSIDL_NETWORK, pidlToNetwork);
tmpBrwsInf.pidlRoot := pidlToNetwork;
tmpPIDL := SHBrowseForFolder(tmpBrwsInf);
result := StrPas(tmpCompName);
finally
tmpIMalloc.Free(pidlToNetwork);
tmpIMalloc.Free(tmpPIDL);
end;
end;
end;
end.
[
Ovu poruku je menjao silverglider dana 09-17-2001 u 11:44 PM GMT]