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 字符串与二进制数之间的互相转换

Delphi firedac 下的 sqlite [2] - 第一个例子

Delphi 10.2 ide界面

Delphi xe7组件tetheringmanager1发送消息

Delphi 通�^窗口句柄或窗口标题得到进程句柄

Delphi 最好的线程操作

Delphi string 常用字串符处理函数

Delphi做繁体简体转换

Delphi webbrowser1提取网页中的所有链接、点击第 n 个链接

Delphi idhttp http.get 获取json数据

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



打赏

取消

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

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

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

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

评论

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