这个问题有谁可以回答我!!

holin 2002-01-02 09:03:32
首先,大家新年快乐呀!!

我想做个更改桌面图标的软件,我看到许多类似的软件,当打开更换图标时的对话框,都是相同的对话框,(就是在一个快捷方式的鼠标右键菜单下的属性中的更改图标那个对话框)我想那一定是用什么函数调出来吧。谁能给个代码出来呀!

还有,就是浏览文件夹的对话框也都是相同的,谁知道怎么实现的,先谢谢了。
...全文
51 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
holin 2002-01-03
  • 打赏
  • 举报
回复
第一个问题,楼上的理解有误,是这样的。我是要更换图标的对话框!!

比如我们用鼠标右键单击一个桌面上的快捷方式(.LNK)有个属性菜单吗?
单击它后会有属性对话框吗?然后选更换图标的按钮就会弹出那个“更换图标的对话框”
我想要的就是这个??
pdsinfo 2002-01-02
  • 打赏
  • 举报
回复
两种选择目录对话框

{ uses ShlObj,FileCtrl}
var
BrowseInfo: TBrowseInfo;
pIDLst: PItemIDList;
Dir: array[0..MAX_PATH-1] of char;
begin
FillChar(Dir, SizeOf(Dir), 0);
with BrowseInfo do
begin
hwndOwner := Handle;
pidlRoot := nil;
pszDisplayName := nil;
lpszTitle := '请选择目录';
ulFlags := 0;
lpfn := nil;
lParam := 0;
iImage := 0;
end;
pIDLst := SHBrowseForFolder(BrowseInfo);
SHGetPathFromIDList(pIDLst, @Dir);
ShowMessage(Dir);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
Dir:string;
begin
if selectdirectory('请选择目录','/',dir)=False then exit;
ShowMessage(Dir);
end;
-----------------------------------------------------------------------------
属性对话框: //uses shellapi
procedure TForm1.BitBtn1Click(Sender: TObject);
var Sei:ShellExecuteInfo;
begin
Sei.cbSize:=SizeOf(Sei);
Sei.fMask:=See_Mask_NoCloseProcess or SEE_MASK_INVOKEIDLIST or See_Mask_Flag_No_Ui;
Sei.Wnd:=Form1.Handle;
Sei.lpVerb:='Properties';
Sei.lpFile:=pchar('c:\command.com');
Sei.lpParameters:=Nil;
Sei.lpDirectory:=nil;
Sei.nShow:=0;
sei.hInstApp:=0;
Sei.lpIDList:=0;
ShellExecuteEx(@Sei);
end;

Bellamy 2002-01-02
  • 打赏
  • 举报
回复
关注!

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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