Delphi 从 .lnk 文件获取真正路径的程序


本文整理自网络,侵删。

 
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ActiveX, ComObj, ShlObj, StdCtrls, shellAPI;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var
   Int_link : IShellLink;
   int_File : IPersistFile;
   SFileName : WideString;
   DirName : String;
   OutPutFileName : PChar;
   WinData : win32_find_data;
begin
      SFileName := PChar(edit1.Text);
      Int_link := CreateComObject(CLSID_Shelllink) as IShellLink;
      int_File := Int_link as IPersistFile;
      int_File.Load(pwchar(SFileName), STGM_READ);
      Setlength(DirName, MAX_PATH);
      OutPutFileName := PChar(DirName);
      Int_link.GetPath(OutPutFileName, max_path, WinData, 0);
  
      Edit2.text := OutPutFileName;
end;
 
end.

相关阅读 >>

Delphi 用 getenvironmentvariable 获取常用系统环境变量

Delphi编写dll(以及静态和动态方式调用)

Delphi 链接文件名合并

Delphi xe 10.2.1 fmx平台 在图片上写字方法

Delphi 固定保持datetime日期格式

Delphi tfilestream 的读写 合并文件

Delphi idhttp友好错误信息的捕获

Delphi unigui日志的控制

Delphi xe5 json

webbrowser自动填表模板

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...