王宏健的专栏 ---- 健康快乐

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

选择一个网路邻居

=================   选择一个网路邻居   =====================
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;

posted on 2004-11-29 16:51  LuckyJan  阅读(206)  评论(0)    收藏  举报