我创建一个包含以下代码的快捷方式。
var MyObject : IUnknown;
var MySLink : IShellLink;
var MyPFile : IPersistFile;
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
with MySLink do
begin
SetPath(PChar(sExePath + sExeName));
SetArguments(PChar (sParams));
SetWorkingDirectory(PChar(sExePath));
end;
MyPFile.Save(PWChar(WideString(GetDesktopFolder + '\MyApp.lnk')), False);但我想改变快捷方式的图标。
例如,我在桌面上为NOTEPAD.EXE做了一个快捷方式。那我怎么才能改变它的图标。右键单击快捷方式,选择属性,然后可以看到一个名为"CHANGE图标“的按钮,这就是我想要的。
我怎么能用代码做到这一点呢?
发布于 2019-09-24 13:41:06
谢谢乔纳汉
链接IShellLinkW::SetIconLocation方法
代码样本
with MySLink do
begin
SetPath(PChar(sExePath + sExeName));
SetArguments(PChar (sParams));
SetWorkingDirectory(PChar(sExePath));
SetIconLocation(PWideChar(sNewIconFileName),0);
end;https://stackoverflow.com/questions/58081356
复制相似问题