快捷方式的属性如何可以得到...........(50分)

  • 主题发起人 主题发起人 xf-wangyi
  • 开始时间 开始时间
X

xf-wangyi

Unregistered / Unconfirmed
GUEST, unregistred user!
[red]如题[/red]
; ; 我如何可以得到快捷方式的属性:指向的文件名和路径。
 
function GetShortcutTarget(ShortcutFilename: string): string;
var
; ; Psl: IShellLink;
; ; Ppf: IPersistFile;
; ; WideName: array[0..MAX_PATH] of WideChar;
; ; pResult: array[0..MAX_PATH - 1] of Char;
; ; Data: TWin32FindData;
; ; k:word;
; ; i:integer;
const

; ; IID_IPersistFile: TGUID = (
; ; ; ; D1: $0000010B; D2: $0000; D3: $0000; D4: ($C0, $00, $00, $00, $00, $00, $00, $46));
begin

; ; CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IID_IShellLinkA, psl);

; ; psl.QueryInterface(IID_IPersistFile, ppf);

; ; MultiByteToWideChar(CP_ACP, 0, pChar(ShortcutFilename), -1, WideName, Max_Path);

; ; ppf.Load(WideName, STGM_READ);

; ; psl.Resolve(0, SLR_ANY_MATCH);

; ; psl.GetPath(@pResult, MAX_PATH, Data, SLGP_UNCPRIORITY);//对应文件
; ; Result := StrPas(@pResult);
; ; psl.GetWorkingDirectory(@pResult, MAX_PATH);
; ; showmessage('路径'+pResult);
; ; psl.GetHotkey(k);
; ; showmessage('hotkey:'+Floattostr(k));
; ; psl.GetArguments(@pResult, MAX_PATH);
; ; showmessage('参数:'+pResult);
; ; psl.GetShowCmd(i);
; ; showmessage('State:'+Floattostr(i));
; ; psl.GetIconLocation(@pResult, MAX_PATH,i);
; ; showmessage('icon:'+pResult);







end;
 
接受答案了
 
后退
顶部