我正在寻找一个Delphi函数,该函数从Windows路径返回文件URL路径。 Delphi中有内置的功能吗?

例子:

Input
C:\Users\Documents\File.txt

Output
file:///C:/Users/Documents/File.txt

谢谢

最佳答案

您可以使用 UrlCreateFromPath API函数,以下是示例:

uses
  ComObj, WinInet, ShLwApi;

function FilePathToURL(const FilePath: string): string;
var
  BufferLen: DWORD;
begin
  BufferLen := INTERNET_MAX_URL_LENGTH;
  SetLength(Result, BufferLen);
  OleCheck(UrlCreateFromPath(PChar(FilePath), PChar(Result), @BufferLen, 0));
  SetLength(Result, BufferLen);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(FilePathToURL('C:\Users\Documents\File.txt'));
end;

10-08 17:47