如何在域用户的桌面上创建一个快捷方式

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:05:49
我的文件服务器IP地址是192.168.1.254,我想通过组策略发布一个启动脚本,让登陆公司域的用户桌面上自动创建一个登陆文件服务器的快捷方式。也就是\\192.168.1.254

如果我们编写的程序能自动创建快捷方式,将大大方便用户的使用。但是如何在程序中建立快捷方式呢,下面我们给出一个实例。

由于我们是通过OLE Interface实现此功能的,因此在程序单元的uses语句中要加入ComObj、ActiveX和ShlObj这三个单元。

在单元的声明部分加入以下代码:
以下是引用片段:
procedure CreateLink(ProgramPath, ProgramArg, LinkPath, Descr: String);

其中,ProgramPath是快捷方式的目标文件的全路径(包括文件名和路径);

ProgramArg是目标文件的参数;LinkPath是快捷方式的全路径;Descr是对此快捷方式的描述。

在单元的实现部分加入以下代码:

以下是引用片段:
procedure CreateLink(ProgramPath, ProgramArg, LinkPath, Descr: String);
var
AnObj: IUnknown;
ShellLink: IShellLink;
AFile: IPersistFile;
FileName: WideString;
begin
if UpperCase(ExtractFileExt(LinkPath)) 〈〉 ′.LNK′ then //检查扩展名是否正确
begin
raise Exception.Create(′快捷方式的扩展名必须是 ′′LNK′′!′);/
/若不是则产生异常
end;
try
OleInitialize(nil);//初始化OLE库,在使用OLE函数前必须调用初始化
AnObj := CreateComObject(CLSID—ShellLink);//根据给定的ClassID生成
一个COM对象,此处是快捷方式
ShellL