![]() |
![]() ![]() ![]() ![]() |
|
Как узнать имя файла из ярлыкаDelphi , Файловая система , Ярлыки
Автор: i-s-v
function NameFromLink(const lnk: string): string;
var
MyObject: IUnknown;
MySLink: IShellLink;
MyPFile: IPersistFile;
c: PChar;
pfd: _WIN32_FIND_DATAA;
begin
Result := '';
try
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
if MyPFile.Load(Pointer(WideString(lnk)), OF_READ) <> S_OK then
exit;
c := PChar(lnk);
MySLink.GetPath(c, MAX_PATH, pfd, 0);
Result := string(c);
except
end;
end;
Here's the translation of the text into Russian: Функция Delphi под именем Вот разбивка кода:
Код также включает обработку ошибок с помощью блока Чтобы использовать эту функцию, вам нужно передать в нее ссылку на файл в виде широкой строки (например, URI или путь к файлу), и она вернет имя файла, связанное с ней. Например:
Обратите внимание, что этот код использует типы и функции, специфические для Windows, поэтому он может не быть переносимым на другие платформы. Кроме того, константа Альтернативное решение - использовать функцию
Функция более проста и не требует объектов COM или кода, специфического для Windows. Однако она может не работать для ссылок, которые не указывают на локальный файл (например, сетевые共享ы или URL). В статье приведен пример программирования на Delphi для извлечения имени файла из ярлыка. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||