本文缘起于我需要在 Windows 10 中注册 Windows 照片查看器和 JPG\PNG\ICO 等的文件关联,于是翻阅标准文档,写了一个 Windows 10 时代下正确注册文件关联——不要去抢默认关联,并正确利用 Windows 的机制引导用户发现你的 app ——的例子。
我知道网上流行一种把 JPG/PNG 等和 Windows 照片查看器 TIFF 文件类型关联的方法,但是那样是道理上不正确的,例如会得到不正确的文件类型名。
文章看点
- 如何按照 Windows 的文档注册文件关联,并和 Windows 10 的文件关联体验保持一致。
- 如何正确解除文件关联(当你的程序卸载的时候发生)。
- 如何使用
ShellExecuteEx来引导用户选择你的程序为默认的文件关联。
打歪的看点
- 有一张“打开方式”对话框的截图,它可以根据用户当前的 Windows 主题变化,显示当前主题下的这个对话框的样子;非 IE/Edge、非 Windows 平台则总是显示普通 Windows 主题下的样式;这一切当然都是静态实现的,没有 JS,没有服务器逻辑。
- 快速导航的目录可以根据宽度选择是否把平行的主题分栏显示。
查看《“打开方式”的“打开方式”》↗
另外,我最近决定 fix Microsoft Edge 总是不能正确读取动态磁贴信息的问题,现在把 blog 主页固定到“开始”屏幕,可以看到 Live Tile 轮播最近 5 篇博文的介绍(之前该功能只在 Windows [Phone] 8.1 上有效,现在在 Windows [Phone] 8.1/10 上都有效);固定博文页面则显示这一篇的信息(这仍然是动态的,可以用来追踪一篇博文的更新)。


