请教各位:我创建了桌面快捷方式后,当我要卸载时,又如何删除桌面快捷方式呢?
创建快捷方式的代码如下:
procedure KJFS(StartupFilename,KJFSM:string);//StartupFilename--应用程序名;KJFSM--在桌面的快捷方式名称
var
tmpObject : IUnknown;
tmpSLink : IShellLink;
tmpPFile : IPersistFile;
PIDL : PItemIDList;
StartupDirectory : array[0..MAX_PATH] of Char;
LinkFilename : WideString;
begin
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 + KJFSM+'.lnk';
tmpPFile.Save(pWChar(LinkFilename),FALSE);//保存*.lnk文件
end;
创建快捷方式的代码如下:
procedure KJFS(StartupFilename,KJFSM:string);//StartupFilename--应用程序名;KJFSM--在桌面的快捷方式名称
var
tmpObject : IUnknown;
tmpSLink : IShellLink;
tmpPFile : IPersistFile;
PIDL : PItemIDList;
StartupDirectory : array[0..MAX_PATH] of Char;
LinkFilename : WideString;
begin
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 + KJFSM+'.lnk';
tmpPFile.Save(pWChar(LinkFilename),FALSE);//保存*.lnk文件
end;
解决方案 »
- 寻高手修改一个Delphi游戏界面,一个经典的七巧板游戏。
- ****超简单问题,请大家请教,50分奉上!有源码****
- 类似windows的搜索功能中的“包含文字”的搜索是怎么做的?
- 急急急急急急!如何让一个图标显示在窗口上。
- 问一下, Access里保存图片,一般用备注型字段还是OLE型的啊?
- 我照这书写了一个简单的cgi程序
- 求FastScript for Delphi XE3
- 对于pointer类型的变量如何赋值呀?
- 谁能更改菜单边框样式?!,禁止灌水!!!
- 大虾请告诉我DelPhi中为什么不能直接调用API函数ShellExecute?
- 急:菜鸟问题,关于rxlib控件,dxdbgrid如何行锁,但在网上找了N次,都不见有答案
- 怎么把HTML插入TWebBrowser而不会出现乱码?
DeleteFile()