桌子面上的快捷方式没有起始位置如何通过程序实现 问题的提出:由于安装程序制作后,在桌子面上建立的快捷方式没有起始位置。于是我想在应用程序启动后将目标应用程序的路径部分自动写进该快捷方式的起始位置、不知道用程序如何实现。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 uses ShlObj, ComObj, ActiveXfunction GetCurPath(): string;var Reg: TRegistry;begin Reg := TRegistry.Create(HKEY_CURRENT_USER); try Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', False); Result := Reg.ReadString('Desktop'); Reg.CloseKey; finally Reg.Free; end;end;procedure CreateLink;var MyObject : IUnknown; MySLink : IShellLink; MyPFile : IPersistFile; WFileName : WideString;begin WFileName := GetCurPath + '\快捷方式.lnk'; //快捷方式的路径 if FileExists(WFileName) then Exit; MyObject := CreateComObject(CLSID_ShellLink); MySLink := MyObject as IShellLink; MyPFile := MyObject as IPersistFile; MySLink.SetDescription('快捷方式'); //描述 MySLink.SetWorkingDirectory(PAnSiChar(ExtractFilePath(Application.ExeName))); //起始位置 MySLink.SetPath(PAnSiChar('http://www.google.com')); //目标 MyPFile.Save(PWChar(WFileName), false);end;procedure TForm1.Button1Click(Sender: TObject);begin CreateLinkend; 在应用程序的工作目录,只要将其发送到桌子面上就可以达到效果了,可为什么WISE安装程序就不能达到这种效果呢(出现空的起始位置)。 那你用什么呀给我发一份吧,先谢谢了[email protected] delphi如何调用c#写的dll 延时的处理 rz控件 无右键事件但假死 求解1M的ADSL为什么下载有8M的速度?救命啊 不好意思:问一简单问题为何有PAS文件没有FORM 如何取出DBGrid中小箭头所指示行的所有字段的内容? 在控制台程序中如何清空当前屏幕上已经输出的东西? 请问一下。delphi连什么数据库好? ListView崩溃的问题 有至于学习RO(RemObjects)多层开发的朋友一起来讨论 关于远程桌面共享的实现思路 请教如何使用indy组件实现文件自动上传?
ShlObj, ComObj, ActiveXfunction GetCurPath(): string;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create(HKEY_CURRENT_USER);
try
Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', False);
Result := Reg.ReadString('Desktop');
Reg.CloseKey;
finally
Reg.Free;
end;
end;procedure CreateLink;
var
MyObject : IUnknown;
MySLink : IShellLink;
MyPFile : IPersistFile;
WFileName : WideString;
begin
WFileName := GetCurPath + '\快捷方式.lnk'; //快捷方式的路径
if FileExists(WFileName) then Exit;
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
MySLink.SetDescription('快捷方式'); //描述
MySLink.SetWorkingDirectory(PAnSiChar(ExtractFilePath(Application.ExeName))); //起始位置
MySLink.SetPath(PAnSiChar('http://www.google.com')); //目标
MyPFile.Save(PWChar(WFileName), false);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
CreateLink
end;