我也来提问

chiefz 2001-04-28 06:03:00
如何为可执行文件创建快捷方式,在vc中用的是cocreateintance()和multibytetowidechar()这些函数,在delphi中也是这样吗,有例子吗
...全文
57 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chiefz 2001-05-06
  • 打赏
  • 举报
回复
to hzjf
老兄,还是有点错的,不过我改了,其实也不用这么麻烦的,不过还是给你分好了
hzjf 2001-05-02
  • 打赏
  • 举报
回复
还没去试?
chiefz 2001-04-29
  • 打赏
  • 举报
回复
hzjf
不行啊,IShellLink定义通不过啊
hzjf 2001-04-29
  • 打赏
  • 举报
回复
海风说,在users子句中加入shlobj项就可以了。经测试,的确可以通过的。
hzjf 2001-04-28
  • 打赏
  • 举报
回复
兄弟,拿去试试:
const
CCH_MAXNAME=255;
LNK_RUN_MIN=7;
LNK_RUN_MAX=3;
LNK_RUN_NORMAL=1;

type LINK_FILE_INFO=record
FileName:array[0..MAX_PATH] of char;
WorkDirectory:array[0..MAX_PATH] of char;
IconLocation:array[0..MAX_PATH] of char;
IconIndex:integer;
Arguments:array[0..MAX_PATH] of char;
Description:array[0..CCH_MAXNAME] of char;
ItemIDList:PItemIDList;
RelativePath:array[0..255] of char;
ShowState:integer;
HotKey:word;
end;

function CreateLinkFile(const info:LINK_FILE_INFO;const DestFileName:string=''):boolean;
var
anobj:IUnknown;
shlink:IShellLink;
pFile:IPersistFile;
wFileName:widestring;
begin
wFileName:=destfilename;
anobj:=CreateComObject(CLSID_SHELLLINK);
shlink:=anobj as IShellLink;
pFile:=anobj as IPersistFile;
shlink.SetPath(info.FileName);
shlink.SetWorkingDirectory(info.WorkDirectory);
shlink.SetDescription(info.Description);
shlink.SetArguments(info.Arguments);
shlink.SetIconLocation(info.IconLocation,info.IconIndex);
// shlink.SetIDList(info.ItemIDList);
shlink.SetHotkey(info.HotKey);
shlink.SetShowCmd(info.ShowState);
shlink.SetRelativePath(info.RelativePath,0);
if DestFileName='' then
wFileName:=ChangeFileExt(info.FileName,'lnk');
result:=succeeded(pFile.Save(pwchar(wFileName),false));
end;
Kingron 2001-04-28
  • 打赏
  • 举报
回复
搜索“快捷方式”........

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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