*** 加急 ***, 如何用delphi 调出, 浏览网络计算机的对话框, 并得到返回值!(有点像, “网络邻居”)

zh_Oracle 2002-12-25 01:41:19
*** 加急 ***, 如何用delphi 调出, 浏览网络计算机的对话框, 并得到返回值!(有点像, “网络邻居”)

请指点!

不胜感激!

绝对给分!
...全文
31 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
flinming 2002-12-25
  • 打赏
  • 举报
回复
function BrowseForComputer(const winhandle : THANDLE; const title : string) : string; //浏览网络中的机子
var
BrowseInfo : TBrowseInfo;
IDRoot : PItemIDList;
Path : array[0..MAX_PATH] of Char;
begin
SHGetSpecialFolderLocation(winHandle, CSIDL_NETWORK, IDRoot);
ZeroMemory(@BrowseInfo, SizeOf(TBrowseInfo));
ZeroMemory(@path, MAX_PATH);
BrowseInfo.hwndOwner := winhandle;
BrowseInfo.pidlRoot := IDRoot;
BrowseInfo.lpszTitle := PChar(title);
BrowseInfo.pszDisplayName := @path;
BrowseInfo.ulFlags := BIF_BROWSEFORCOMPUTER;
SHBrowseForFolder(BrowseInfo);
result := strpas(path) ;
end;

procedure Tform.Button1Click(Sender: TObject);
begin
ComboBox1.Text := BrowseForComputer(Form1.Handle,'Select a Computer') ;
//Button2Click(Sender);
end;
chutian 2002-12-25
  • 打赏
  • 举报
回复
function ComputerName: String;
var
BrowseInfo: TBrowseInfo;
ItemIDList: PItemIDList;
ComputerName: array[0..MAX_PATH] of Char;
Title: string;
WindowList: Pointer;
R: Boolean;
begin
if Failed(SHGetSpecialFolderLocation(Application.Handle, CSIDL_NETWORK, ItemIDList)) then
raise Exception.Create('網絡出錯,請設置网絡!');
FillChar(BrowseInfo, SizeOf(BrowseInfo), 0);
BrowseInfo.hwndOwner := Application.Handle;
BrowseInfo.pidlRoot := ItemIDList;
BrowseInfo.pszDisplayName := ComputerName;
Title := '選擇計算機名稱:';
BrowseInfo.lpszTitle := PChar(Pointer(Title));
BrowseInfo.ulFlags := BIF_BROWSEFORCOMPUTER;
WindowList := DisableTaskWindows(0);
try
R := SHBrowseForFolder(BrowseInfo) <> nil;
finally
EnableTaskWindows(WindowList);
end;
if R then Result := ComputerName;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption := ComputerName;
end;

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧