这段代码是在桌面创建个快捷试,问下我要在程序当前目录创建快捷试,该怎么做
begin//创建快捷方式到桌面
StartupFilename :=Application.ExeName;
tmpObject := CreateComObject(CLSID_ShellLink);//创建建立快捷方式的外壳扩展
tmpSLink := tmpObject as IShellLink;//取得接口
tmpPFile := tmpObject as IPersistFile;//用来储存*.lnk文件的接口
tmpSLink.SetPath(pChar(StartupFilename));//设定所在路径
tmpSLink.SetWorkingDirectory(pChar(ExtractFilePath(StartupFilename)));//设定工作目录
SHGetSpecialFolderLocation(0,CSIDL_DESKTOPDIRECTORY,PIDL);//获得桌面的Itemidlist
tmpSLink.SetDescription('我的程序的描述');
tmpSLink.SetIconLocation(Pchar(StartupFilename),0);
SHGetPathFromIDList(PIDL,StartupDirectory);//获得桌面路径
LinkFilename := StartupDirectory + '\我的程序.lnk';
tmpPFile.Save(pWChar(LinkFilename),FALSE);//保存*.lnk文件
end;
这段代码是在桌面创建个快捷试,问下我要在程序当前目录创建快捷试,该怎么做
http://www.cnblogs.com/huangygdelphi/articles/2302288.html 获取当前目录不就行了吗
用delphi自带的几个函数
ExtractFilePath//路径后面带有 "/"(不管是在磁盘根目录还是哪里)
ExtractFileName//文件名
ExtractFileExt //扩展名
ExtractFilePath//路径后面带有 "/"(不管是在磁盘根目录还是哪里)
ExtractFileName//文件名
ExtractFileExt //扩展名
例子:
ExtractFilePath(ParamStr(0));// C:/
ExtractFileName(ParamStr(0));// Project.exe
ExtractFileExt(ParamStr(0)); // .exe
页:
[1]