1 windows delphi desktop-shortcut delphi-10.3-rio
有没有办法通过关联的程序名称找到快捷方式的名称(出现在桌面上)?
前任:
文档名称:
并导致:
我发现了一些接近 this 的东西,但以相反的方式制作(通过快捷方式名称返回关联的程序名称)。
应用程序对创建的指向它的快捷方式一无所知,因此这是不可能的。您必须遍历用户桌面文件夹中的每个文件以查找快捷方式文件,使用 将它们打开IShellLink,然后查看它们是否启动了您要查找的应用程序。这是一个这样做的例子。您需要添加ShellAPI到您的uses条款。FileName是快捷方式文件的完全限定名称。
function GetLinkPath(const FileName: WideString): String;
var
ShellLink: IShellLink;
Path: array[0..MAX_PATH] of Char;
begin
Result := '';
ShellLink := CreateComObject(CLSID_ShellLink) as IShellLink;
if (ShellLink as IPersistFile).Load(PWideChar(FileName), STGM_READ) = 0 then
begin
if ShellLink.GetPath(Path, MAX_PATH, nil, SLGP_SHORTPATH) = 0 then
Result := Path;
end;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |