软件使用技巧

记一次 WinGet 升级故障排查

本文记录一次 WinGet 升级故障排查的过程。最终删除了 Windows 应用商店安装的版本,再使用 Scoop 重新安装,通过这种方式解决了问题。

用 Dufs 搭建简易网盘

需要在老破小 VPS 上部署一个简单的网盘服务。由于服务器配置很低,程序越小巧越好。具体需求如下:

  • 单一可执行文件
  • 不依赖外部组件
  • 配置简单
  • 支持 WebDAV

找到两个符合要求的开源项目,分别是 Go 语言编写的 webdav,以及 Rust 语言编写的 dufs。后者除了支持 WebDAV 以外,还提供了一个网页管理界面。因此最后决定选择 dufs

……

已安装 .NET 运行时,但程序仍提示未安装

运行一个 C# 编写的程序,弹出如下提示:

dotnet

实际上系统已经安装 .NET Runtime 8.0,不过还是尝试通过错误消息中的链接下载 .NET Desktop Runtime 8.0 并重新安装。再次运行程序,仍然提示以上错误。

……

一些命令行下的文件管理工具

本文介绍了 12 款命令行下的文件管理工具

泄露程序执行记录的 Windows Shim 缓存

Windows Shim 是一种让新操作系统能兼容旧程序的技术。顾名思义,Shim 会在应用程序和操作系统之间增加一层处理逻辑,比如拦截和修改 API 调用的参数和返回值,模拟旧的操作系统,实现兼容应用程序的目的。

由于并非所有的程序都需要进行兼容处理,Windows 为此提供了一个名为 Application Compatibility Database (应用程序兼容性数据库)的数据库,通常简写为 SDB,其中保存了需要兼容的程序清单,以及需要进行的兼容性操作。然而,每次创建进程都要查询数据库会损耗性能,Windows 将查询结果缓存在内存中。该缓存被称作 Application Compatibility Cache,大小为 1024 条,并且在每次系统关机时写入注册表作为持久化保存。正是由于这个特性,导致泄露了用户程序执行记录。

……

泄露 Windows 资源管理器浏览记录的 Shell Bags

Windows 资源管理器会记住用户访问过的每个文件夹的视图细节,包括窗口大小、视图模式、排序方式、图标大小、分组依据等。这个特性有点类似 macOS 系统里的 .DS_store 文件夹。这些文件夹的视图信息会被保存在注册表中,我们根据微软对这组注册表项的命名,将该特性称作 Shell Bags。一些 Windows 取证工具利用该特性,可以提取出用户的访问历史,包括已删除的文件夹、网络文件夹和可移动存储设备文件夹。

……

为什么你总是会在微信里发错消息

最近,江苏常州的一个镇党委书记被免职。事件的起因是这位龚书记将私密消息错误发送到了微信工作群里。

龚书记

这已经不是第一起因为用户将私密消息错发到微信群里而酿成的惨案了。而此类惨案之所以层出不穷,完全是因为微信产品设计上的「坏」和「蠢」。

首先,在 iOS 平台上,点击微信的通知消息,在打开微信 APP 后,并不会进入通知消息所在的会话上下文,而是停留在之前的会话或会话列表。这并非操作系统的限制,而是微信产品故意为之,亦或者是它们根本不在乎。

……

Zone.Identifier 文件和 NTFS 数据流

使用 Windows 资源管理器,将 Windows 中的文件复制到 WSL 文件系统中时发现,目标路径下会多出一个 Zone.Identifier 后缀的文件:

foo.txt
foo.txt:Zone.Identifier

……

轻量级 IDE:Lite XL

Lite XL 是一款使用 C 和 Lua 开发的开源文本编辑器。它的官网简介为:

A simple, fast, feature-filled and extremely extensible text editor written in C and Lua, adapted from lite.

它的 Windows 安装包大小仅为 2MB。在不加载插件的情况下,启动后占用内存只有 20MB 多。和 VSCode 动则几百 MB 的内存使用量相比,的确算得上轻量。虽然官方的自我定位是一款文本编辑器,不过在安装插件后可以作为一个简单的 IDE 使用。其生态位和 Sublime 类似,可以作为主力 IDE 的备胎。

本文仅介绍 Lite XL 在 Windows 平台上的安装和使用。

……

增强版 Traymond 让任意窗口最小化到系统托盘

本项目已更名为 Traynard,并使用 Lazarus 完全重构。新版本提供更多的功能和更加易用的操作界面。原增强版 Traymond 仅保留下载,不再更新。

详见:窗口托盘最小化工具从 Traymond 进化为 Traynard

Traymond 是一款 Windows 上的小工具,可以将任意窗口最小化为系统托盘图标,双击图标即可还原窗口。软件启动后会在后台运行,按下热键 Win + Shift + Z 后,当前窗口会最小化到系统托盘图标,双击图标可以恢复窗口。软件正常退出时会自动恢复期间最小化的窗口。另外,如果程序意外终止,重新启动程序,最小化窗口的都会恢复。

……