首页  编辑  

建立快捷方式

Tags: /超级猛料/Stream.File.流、文件和目录/Shell操作/   Date Created:

]、。·ˉˇ¨〃々—~‖…’”〕〉》」』〗】∶!"'),.:;?]` const

 CCH_MAXNAME=255;

 LNK_RUN_MIN=7;

 LNK_RUN_MAX=3;

 LNK_RUN_NORMAL=1;

type LINK_FILE_INFO=record

        FileName:array[0..MAX_PATH] of char;

        WorkDirectory:array[0..MAX_PATH] of char;

        IconLocation:array[0..MAX_PATH] of char;

        IconIndex:integer;

        Arguments:array[0..MAX_PATH] of char;

        Description:array[0..CCH_MAXNAME] of char;

        ItemIDList:PItemIDList;

        RelativePath:array[0..255] of char;

        ShowState:integer;

        HotKey:word;

    end;

function CreateLinkFile(const info:LINK_FILE_INFO;const DestFileName:string=''):boolean;

var

anobj:IUnknown;

shlink:IShellLink;

pFile:IPersistFile;

wFileName:widestring;

begin

wFileName:=destfilename;

anobj:=CreateComObject(CLSID_SHELLLINK);

shlink:=anobj as IShellLink;

pFile:=anobj as IPersistFile;

shlink.SetPath(info.FileName);

shlink.SetWorkingDirectory(info.WorkDirectory);

shlink.SetDescription(info.Description);

shlink.SetArguments(info.Arguments);

shlink.SetIconLocation(info.IconLocation,info.IconIndex);

// shlink.SetIDList(info.ItemIDList);

shlink.SetHotkey(info.HotKey);

shlink.SetShowCmd(info.ShowState);

shlink.SetRelativePath(info.RelativePath,0);

if DestFileName='' then

 wFileName:=ChangeFileExt(info.FileName,'lnk');

result:=succeeded(pFile.Save(pwchar(wFileName),false));

end;