Я хотел бы иметь возможность использовать функцию UrlCreateFromPathW
из Shlwapi.dll в моем сценарии установки, но я не смог заставить ее работать.Inno Setup - UrlCreateFromPath
HRESULT UrlCreateFromPath(
_In_ PCTSTR pszPath,
_Out_ PTSTR pszUrl,
_Inout_ DWORD *pcchUrl,
DWORD dwFlags
);
Я починил следующий из другого «Setup Inno» меченый вопросы здесь, и от глядя на JEDI перевод для DLL. TryUrlCreateFromPath
всегда возвращает false. Любая помощь будет высоко оценена.
[Code]
const
INTERNET_MAX_URL_LENGTH = 2048 + 32 + 3;
S_OK = $00000000;
function UrlCreateFromPathW(pszPath, pszUrl: string; var pcchUrl: DWORD; dwFlags: DWORD): HResult; external '[email protected] stdcall';
function TryUrlCreateFromPath(const path: string; var url: string): Boolean;
var
charcount: dword;
flags: dword;
begin
SetLength(url, INTERNET_MAX_URL_LENGTH);
flags := 0;
Result := UrlCreateFromPathW(path, url, charcount, flags) = S_OK;
if Result then
SetLength(url, charcount);
end;
function InitializeSetup: Boolean;
var
URL: string;
ErrorCode: Integer;
begin
Result := True;
if TryUrlCreateFromPath('c:\temp', URL) then
MsgBox('URL: ' + URL, mbConfirmation, MB_OK)
else
MsgBox('ERROR', mbError, MB_OK);
end;
Замечательно! Спасибо, что указали, что это работает отлично. Большое вам спасибо за вашу помощь. – AMarch