微信收到lnk文件打不开,微信收到lnk格式文件如何打开

首页 > 实用技巧 > 作者:YD1662024-03-04 01:14:01

关于 Windows 上的一类文件有这么一些笑话:你请某人发送一个文件副本,Ta 将桌面上的「文件」拖到了聊天框,叮当一响,你收到了一份 document.lnk;你告诉 Ta 将某某软件卸载,于是 Ta 把桌面上的「软件」移到了回收站,告诉你「搞定了」……

这类文件读者都很熟悉,我们一般称之为快捷方式,它们的图标上都带着小箭头。大部分软件安装后往往会同时在桌面和开始菜单中创建快捷方式;如果没有,一些读者可能会在目标文件上 右键 > 发送到 > 桌面快捷方式 自己己新建一个。

但除了右键发送到桌面,Windows 快捷方式其实还可以更快捷:在引用对象支持的情况下,它能做到直接调用软件的子功能、以某个模式启动程序等等。

让我们先从快捷方式的工作方式讲起。

快捷方式的基本知识

在微软的 开发者文档 中,快捷方式有另外一个更准确的表述:Shell Links,可翻译为壳层链接。这个名称更趋近于它的本质:用于 Windows 壳层(Shell)的链接文件。Windows 图形壳层自然是资源管理器(explorer.exe),这是它赖以工作的进程;而「链接」则说明 Shell Links 是指向引用对象(corresponding object)的文件而并非对象本身。

工作方式和属性

以桌面上的 Firefox.lnk 为例,当我们双击此链接,资源管理器发现用户尝试打开的文件类型为快捷方式,便读取了它的「目标」属性的内容 C:\Program Files\Mozilla Firefox\firefox.exe,然后尝试打开此「目标」,Firefox 程序于是被唤起了。

这和我们在资源管理器地址栏输入 Firefox.exe 位置的原理和效果是类似的。

微信收到lnk文件打不开,微信收到lnk格式文件如何打开(1)

但不同的是,快捷方式有几个其他的属性是我们不能通过填充地址栏做到的:

后缀名和类型

听到打开快捷方式和在资源管理器地址栏输入地址类似,一些读者可能会想到,Windows 资源管理器地址栏不光能输入文件地址,还可以输入shell:downloads 直接打开下载文件夹,输入shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}打开控制面板,输入https://example.com打开网站……

是的,快捷方式也能接受这些内容。根据引用对象种类的不同,常用的快捷方式分为两种:

  1. .lnk 链接文件:注册表位置HKCR\lnkfile,引用对象是目录或文件(包括可执行程序);
  2. .url 网络快捷方式:注册表位置HKCR\InternetShortcut,引用对象是 URI。
创建方式和解析过程

通过图形界面创建快捷方式目前有两种途径:从引用对象创建和使用向导创建:

  1. 从引用对象创建:这种方式需要我们提前定位到引用对象(即快捷方式的目标),选中这个对象,要么右键 > 发送到 > 桌面快捷方式,要么按住 Alt 键,使用鼠标拖动文件到目标目录,然后松开鼠标。前者在 Windows 11 已经变得非常繁琐。
  2. 使用快捷方式创建向导:在任意目录下右键,选择新建 > 快捷方式,填入引用对象的地址和名称。

以上面两种方式创建快捷方式时,引用对象必须存在。但是创建完成后,引用对象存在与否就不再影响快捷方式,两者只会在用户打开快捷方式时发生关联。

当用户双击快捷方式时,系统会尝试解析该快捷方式:首先它会用快捷方式指向的路径检查引用对象是否能直接找到;如果路径的目标无对象,资源管理器接下来会使用名为 分布式链接跟踪 的技术,依靠对象原来的大小,名称,创建日期等信息进行检索,成功找到目标后 Windows 会自动更新快捷方式的目标属性;若无法找到则会提示用户删除快捷方式。

链接跟踪技术的应用给快捷方式带来了硬链接一样的解析效果:引用对象删除后恢复、重命名、移动位置都不会导致快捷方式失效。由于它也像符号链接一样依靠文件路径定位,所以只要路径正确,无论引用对象是否是原来的文件,快捷方式都会将其打开。

与符号链接的区别

同样可以链接到文件的路径,同样由系统提供支持,快捷方式和 符号链接 却有本质上的区别。快捷方式仍然是一个文件,它有自己的后缀名,有对应的数据(一个地址)和大小(几 KB),还有自己的图标和属性。但符号链接没有对应的数据对象,因而也没有大小可言,它没有后缀名,不具有完整文件结构。

微信收到lnk文件打不开,微信收到lnk格式文件如何打开(2)

以一个房子为例,每一个房子都有坐标。给别人一个符号链接,相当于为他开了一个直通房屋所在的传送门,他不需要知道房子实际在什么地方;而快捷方式只是一张写有地址的小纸条,他需要自己摸索才能到达房子。资源管理器可以读取纸条内容后找到房屋所在,但其他程序未必有这个能力。

本节汇总:快捷方式的更多可能

综上所述,类似 TXT 文本由 notepad 打开,快捷方式由资源管理器处理,它将自己的各个属性值传达给资源管理器,后者负责检索并打开引用对象。引用对象可以是文件、目录或 URI。

指向一个文件、目录、网页的快捷方式想必读者司空见惯。但可执行程序并不是普通文件那么简单:notepad.exe 会打开一个未命名的文件,notepad.exe kepa.txt 则会新建一个名为kepa.txt 的文本文件;URI 方案亦不只有 HTTPS,它可是 iOS 自动化的老将。

为链接文件添加标识与参数,将网络快捷方式目标设置为 Windows 支持的的 URI Schemes,也许能解锁快捷方式更多的可能性。

为链接文件添加标识与参数

在图形化操作系统尚未普及之前,用户一次又一次输入 命令 标识(flags)参数 来完成工作。这种方式即使放在今天在很多情况下仍然比图形界面更高效。且不谈一些仍然流行的终端应用,即使是那些专门为图形界面设计的应用,不少也提供了终端调用的方式和丰富的标识,而这些都能被快捷方式利用。

下面以四个实例讲解相关用法,本节的小结部分总结了查找标识参数的两个方法。

用例一:快速新建 Word 博客文章

Word 内置了博客写作工具,完成后可以从软件内直接发送至 WordPress 等平台。但打开 Word,点击新建,再选择模板比较麻烦,能不能创建一个双击直接新建 Word 博客文章的快捷方式呢?

首先,我们需要确认 Word 支不支持命令调用的形式,有没有提供可用的标识。在搜索引擎中键入 Microsoft Word CLI Flags,前几个结果中就有微软官方给出的 Office 终端调用文档,文档称可以用 -t 加模板路径的方式据模板新建文档,这正是我们想要的。

微信收到lnk文件打不开,微信收到lnk格式文件如何打开(3)

使用这类快捷方式比较推荐的做法是首先定位到应用,将此应用的快捷方式作为底版。例如此例中,Word 在 Program Files\Microsoft Office 中,找到 EXE 文件、按住 Alt 拖到桌面创建一个快捷方式。

微信收到lnk文件打不开,微信收到lnk格式文件如何打开(4)

首页 12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.