怎样才能创建快捷方式,急!!!(50分)

  • 主题发起人 主题发起人 for88
  • 开始时间 开始时间
F

for88

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样才能在双击程序之后,创建一个快捷方式到开始菜单的启动那儿,
 
给一段程序,你回去修改一下就可以了,如果还有问题的话,留个email我发人源程序给你
var
Macro:string;
CommLine:TStrings;
begin
CommLine:=TStringList.Create;
Macro:=Format('[CreateGroup(%s)]',['MyFlashplayer'])+#13#10;
CommLine.Add(Macro);
Macro:=Format('[AddItem("%s",%s)]',
[Application.ExeName,'²MyFlashPlayer'])+#13#10;
CommLine.Add(Macro);
DdeClientConv1.ExecuteMacroLines(CommLine,false);
CommLine.Free;
end;
 
//在桌面上建立快捷方式
procedure TForm1.Button1Click(Sender: TObject);
var
tmpObject : IUnknown;
tmpSLink : IShellLink;
tmpPFile : IPersistFile;
PIDL : PItemIDList;
StartupDirectory : array[0..MAX_PATH] of Char;
StartupFilename : String;
LinkFilename : WideString;
begin
StartupFilename := 'c:/windows/notepad.exe';
tmpObject := CreateComObject(CLSID_ShellLink);//创建建立快捷方式的外壳扩展
tmpSLink := tmpObject as IShellLink;//取得接口
tmpPFile := tmpObject as IPersistFile;//用来储存*.lnk文件的接口
tmpSLink.SetPath(pChar(StartupFilename));//设定notepad.exe所在路径
tmpSLink.SetWorkingDirectory(pChar(ExtractFilePath(StartupFilename)));//设定工作目录
SHGetSpecialFolderLocation(0,
CSIDL_DESKTOPDIRECTORY,
PIDL);//获得桌面的Itemidlist
SHGetPathFromIDList(PIDL,
StartupDirectory);//获得桌面路径
LinkFilename := StartupDirectory + '/MyNotepad.lnk';
tmpPFile.Save(pWChar(LinkFilename),FALSE);//保存*.lnk文件
end;
//如果是要到启动菜单,换一下就行了
 
谢谢大家
 
后退
顶部