|

楼主 |
发表于 2008-9-3 14:50:29
|
显示全部楼层
dephi 有段创建快捷方式, 请问转在平台上用?
Function CreateLink(Const ProgramFile,ProgramArg,CreateLinkPath,Descr: String):boolean;
//ProgramFile是目标文件的全路径 rogramArg是执行的参数;CreateLinkPath是要创建到快捷方式的全路径;Descr是此快捷方式的描述
var
AnObj: IUnknown;
ShellLink: IShellLink;
AFile: IPersistFile;
FileName: WideString;
begin
try
OleInitialize(nil);//初始化OLE库,在使用OLE函数前必须调用初始化
AnObj := CreateComObject(CLSID_ShellLink);//根据给定的ClassID生成一个COM对象,此处是快捷方式
ShellLink := AnObj as IShellLink;//强制转换为快捷方式接口
AFile := AnObj as IPersistFile;//强制转换为文件接口
ShellLink.SetPath(PChar(ProgramFile)); // 快捷方式的目标文件,一般为可执行文件
ShellLink.SetArguments(PChar(ProgramArg));// 目标文件参数
ShellLink.SetWorkingDirectory(PChar(ExtractFilePath(ProgramFile)));//目标文件的工作目录
ShellLink.SetDescription(PChar(Descr));// 对目标文件的描述
FileName :=CreateLinkPath;//把文件名转换为WideString类型
AFile.Save(PWChar(FileName),False);//保存快捷方式
OleUninitialize;//关闭OLE库,此函数必须与OleInitialize成对调用
except
OleUninitialize;//关闭OLE库,此函数必须与OleInitialize成对调用
result:=False;
end;
result:=True;
end; |
|