================= 选择一个网路邻居 =====================
function SelectComputerName(handle: hwnd; var ComputerName: string): boolean;
var
BrowseInfo: TBrowseInfo;
ItemIDList: PItemIDList;
cName: array[0..MAX_PATH] of Char;
Title: string;
WindowList: Pointer;
begin
if Failed(SHGetSpecialFolderLocation(Handle, CSIDL_NETWORK, ItemIDList)) then
raise Exception.CreateRes(@SComputerNameDialogNotSupported);
FillChar(BrowseInfo, SizeOf(BrowseInfo), 0);
BrowseInfo.hwndOwner := Handle;
BrowseInfo.pidlRoot := ItemIDList;
BrowseInfo.pszDisplayName := cName;
Title := '选择计算机名(Remote Server):';
BrowseInfo.lpszTitle := PChar(Pointer(Title));
BrowseInfo.ulFlags := BIF_BROWSEFORCOMPUTER;
WindowList := DisableTaskWindows(0);
try
Result := SHBrowseForFolder(BrowseInfo) <> nil;
finally
EnableTaskWindows(WindowList);
end;
ComputerName := cName;
end;
procedure Tfrm_Login.bt_ComputerSetClick(Sender: TObject);
var A_Computer:string;
begin
if SelectComputerName(handle,A_Computer) then begin
showMessage( 'the computer's name is :'+ A_Computer ) ;
end;