Day 7032 洒水扬尘,抑或是喃喃自语

长久以来第一次正经写博文。

也不知道是否还会有访客意识到本博客的界面发生了变动,我想是没有的,毕竟除了基本上与原来没什么变化之外,还因为更新频次已经低于一年 10 篇文章,所以不指望会有多少访客,也就不指望会有人记得之前这里长什么样子。但不论如何,这个 WordPress 是从头重新安装的(当然数据还是恢复了的),甚至整台 VPS 都是格掉重来的。

新系统装完,不发点东西表示一下好像有点不好,于是以下是一大堆零零碎碎,权当我在记流水账。 继续阅读 “Day 7032 洒水扬尘,抑或是喃喃自语”

Day 6887 为 Photoshop 的“图像处理器”增加 CR2 格式打开支持

由于工作的缘故,需要快速将一批 RAW 图片转换为 JPEG 格式,该批文件的格式较新,手里现有的 AcdSee 和 XnView 无法打开,并且已经没有时间安装 Lightroom 等软件,经查找 Photoshop 的“图像处理器”(文件-脚本-图像处理器)可以完成这一操作。

然而,在操作过程中,发现文件夹中的 CR2 格式文件被尽数跳过。经搜索,原因为 Photoshop 自带的“图像处理器”脚本在判断需要用  CameraRaw 打开的文件时并不包含 CR2 扩展名,幸好这一插件的文件是纯文本,只需对其进行修改即可。

以 Photoshop 2020 为例,用文本编辑器打开下列文件:

C:\Program Files\Adobe\Adobe Photoshop 2020\Presets\Scripts\Image Processor.jsx

在大约115行的位置找到:

gFilesForCameraRaw = Array( “TIF”, “CRW”, “NEF”, “RAF”, “ORF”, “MRW”, “DCR”, “MOS”, “SRF”, “PEF”, “DCR”, “DNG”, “ERF”, “X3F”, “RAW”);

在末尾添加 CR2 扩展名(注意保持大写),使其变成:

gFilesForCameraRaw = Array( “TIF”, “CRW”, “NEF”, “RAF”, “ORF”, “MRW”, “DCR”, “MOS”, “SRF”, “PEF”, “DCR”, “DNG”, “ERF”, “X3F”, “RAW”, “CR2”);

保存后重新调用图像处理器即可。

Day 6604 Word 中取消自动更新格式

在 Word 中编辑文档时,由于各种各样的原因(尤以外来文档居多),总会在录入一部分内容后一按回车,全文的部分内容就会变换为特定的格式(例如全部变成微软雅黑、自动缩进等等),而有时并不需要它这样多此一举——尤其是在修改一些长文档时特别烦人。

多数解决方法会要求去 Word 的选项中关闭“正文”样式的自动更新,但经尝试效果不彰,经搜索,找到一则通过 VBA 一次性关闭所有当前文档内置样式自动更新的方法:

Sub 清除自动套用格式()
  Dim update As Style
  Set Updates = ActiveDocument.Styles
  For Each update In Updates
    If update.Type = wdStyleTypeParagraph Then
      update.AutomaticallyUpdate = False
    End If
  Next
End Sub

将上述代码保存在通用模板 Normal.dotm 中,即可在任意文档中进行使用。

此处假设读者了解如何通过内置的 VBA 编辑器向 Normal.dotm 中添加宏,如不知如何操作,请在评论中提出,届时会增补相关操作步骤。

Day 6575 Windows 95 彩蛋音乐 Clouds.mid 的来源

这篇文章之前我居然没翻译?

原文地址:https://www.brianorr.com/blog/2010/01/14/windows-95-easter-egg-song-clouds-mid/


In early 1995, I was working at Microsoft as an intern software engineer on the Windows 95 team, and was approached to write the music for the hidden Windows 95 Easter Egg.

This ‘Easter Egg’ was tricky to find (see the instructions below), but once found it opened up a window with all the names of who worked on Windows 95, with my music as the theme.

1995 年的早些时候,我在微软公司的 Windows 95 团队中担任实习软件工程师,有人邀请我为隐藏的 Windows 95 彩蛋撰写音乐。

这个“彩蛋”不怎么好找(后附打开方式),不过只要找到了,系统就会打开一个窗口,展示所有为 Windows 95 开发做出贡献的人员名单,而它将会用我的作品作为背景音乐。

The only instructions I was given was that the music should invoke images of ‘clouds’ and feel ‘floating’ and ‘peaceful’ – this is how Windows 95 was going to be marketed. Well, and that it had to play well on all sound cards at the time. For 99.9% of computers, this meant through the Adlib synthesizer emulation of the Creative Labs Sound Blaster card (or equivalent clone). In other words – no sampled instruments, no effects – just simple FM synthesis. General MIDI at its finest.

So with that said, I really couldn’t do too much in terms of interesting instrumentation or sounds; and yes…it’s pretty funny to listen to the tune now. I’ve rendered it out using a GM sound module (which is better) but still doesn’t come close to the realism you’d expect from most computer music today.

我接到的仅有的指示是:这则音乐应囊括“云朵”的印象,并给人以“飘逸”、“平和”的感觉——而这正是 Windows 95 的市场定位。此外,它还需要能在当时所有的声卡上播放出来。对(当时)99.9%的环境来说,这意味着创新公司声霸卡(或者同类克隆)里的 Adlib 合成器模拟水平,换句话说,不许有采样乐器,不许有特殊效果,只能是简简单单的 FM 合成器音效,只能是最纯粹的 General MIDI。

由此,我在富有趣味性的乐器或音效方面大大受限,不过如今再度聆听这首旋律仍是一件乐事。我用 GM(Generan MIDI)的音效模块重新渲染了一下(略有提升),不过与当今多数的计算机音乐的真实度仍然难以相提并论。

Feel free to post comments or send me any questions. Here’s the tune:

请随意发表评论或向我提问(注:原文如此),曲子在这(注:以下内容托管在 Soundcloud 上,可能需要搬梯子):

These are the original instructions to actually see the Easter Egg in Windows 95. Note this doesn’t work in Windows 98 or above, nor under some versions of the Active Desktop under Windows 95.

以下是在 Windows 95 下调出彩蛋的原始方案。注意 Windows 98 及以上版本无效,在 Windows 95 下部分版本的 Active Desktop 下也可能不起效(译注:下面的文件夹命名一个字或一个标点也不能错,包括中间的空格也不能省略):

Create a new folder on the Desktop and name it EXACTLY like this

(在桌面上创建一个新文件夹,严格按照下列内容命名):

and now, the moment you’ve all been waiting for

Then rename it to:(然后将其改名为:)

we proudly present for your viewing pleasure

Rename this folder again to:(最后一次将其改名为:)

The Microsoft Windows 95 Product Team!

Double-click the new folder and enjoy the show!(现在双击这个文件夹,就能看到表演了!)

Day 6556 Windows 7 下安装航天信息打印机驱动时,提示“操作无法完成(0x00000002)”或“系统找不到指定的文件”

情况说明:

在 Windows 7 x64 操作系统下安装航天信息 SK-860 税控打印机驱动时,在正常检测到设备的前提下,发生如下情况:

(1)使用其官方安装程序,开始安装后提示“操作无法完成(0x00000002)”,随后提示打印机驱动安装失败(0x00000002 即对应“系统找不到指定的文件”错误);

(2)在设备管理器中试图更新“其他设备”下对应的打印机设备驱动时,使用官方提供的驱动程序包,可以找到对应或兼容的设备型号,但开始安装后提示“系统找不到指定的文件”。

处理经历:

首先尝试上次安装 .NET Framework 3.5 的方法,但本次该方法无效,要么在启动安装程序后没有任何反应(或走完进度条后消失),要么直接给出必须使用“控制面板”中的“打开或关闭 Windows 功能”安装或配置 Microsoft .NET Framework 3.5 SP1 的提示(因为 .NET Framework 3.5 事实上是 Windows 7 的一部分)。

然后从低到高尝试安装各种版本的 .NET Framework ,虽然成功,但并没有解决问题,又发现该机器自 2019 年以来长期未安装过更新,遂运行 Windows Update,安装完所有能检测到的更新,仍未果。

最终后知后觉想到去查看“系统找不到指定的文件”的根源,在 \Windows\inf\SetupAPI.dev.log 中查找最近一次安装该打印机的记录:

flq: CopyFile: ‘C:\Windows\System32\DriverStore\FileRepository\sk-860.inf_amd64_neutral_aa11c87673493b48\amd64\SK-860.GPD’
flq: to: ‘C:\Windows\system32\spool\DRIVERS\x64\{6C859189-FD69-4CD3-9460-EA8EF1602268}\SETDB4.tmp’
cpy: CopyFile Drp is NOT active
flq: MoveFile: ‘C:\Windows\system32\spool\DRIVERS\x64\{6C859189-FD69-4CD3-9460-EA8EF1602268}\SETDB4.tmp’
flq: to: ‘C:\Windows\system32\spool\DRIVERS\x64\{6C859189-FD69-4CD3-9460-EA8EF1602268}\SK-860.GPD’
flq: {SPFILENOTIFY_ENDCOPY}
flq: {SPFILENOTIFY_ENDCOPY – exit(0x00000001)}
flq: {_commit_copyfile exit OK}
flq: source media:
flq: Description – [Windows 安装光盘]
flq: SourcePath – [C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_neutral_02f0bd8e459ed8b3\Amd64]
flq: SourceFile – [UNIDRV.DLL]
flq: Flags – 0x00000000
flq: {SPFQNOTIFY_NEEDMEDIA}
flq: {SPFILENOTIFY_NEEDMEDIA}
flq: {SPFILENOTIFY_NEEDMEDIA – exit(0x00000000)}
flq: {SPFQNOTIFY_NEEDMEDIA – returned 0x00000000}
!!! flq: source media: SPFQOPERATION_ABORT.
!!! flq: Error 2: The system cannot find the file specified.
flq: {_commit_copy_subqueue exit(0x00000002)}
!!! flq: FileQueueCommit aborting!
!!! flq: Error 2: The system cannot find the file specified.
flq: {SPFILENOTIFY_ENDQUEUE}
flq: {SPFILENOTIFY_ENDQUEUE – exit(0x00000001)}
flq: {_commit_file_queue exit(0x00000002)}

注意其中带下划线的两行,明确指出了驱动安装过程中找不到的文件。

经查询,该问题主要出现在一些经过优化或精简的 Windows 7 系统上,在本例中,ntprint 所在驱动包目录名原本包括 02f0bd8e459ed8b3 和 4616c3de1949be6d 两个版本,而本次安装需要的 02f0bd8e459ed8b3 不存在,所以出错,解决方法有二:

(1)将 ntprint.inf_amd64_neutral_4616c3de1949be6d 文件夹及其内容复制一份,并改名为 ntprint.inf_amd64_neutral_02f0bd8e459ed8b3

(2)直接将 ntprint.inf_amd64_neutral_4616c3de1949be6d 文件夹改名为 ntprint.inf_amd64_neutral_02f0bd8e459ed8b3

完成上述操作后,重新安装驱动即可。

Day 6524 在 Windows XP 上安装 HP LaserJet Pro M127/128 打印机驱动时,提示“发生严重错误”或“系统找不到指定的文件”

情况说明:

由于实际情况所限,需要在一台 Windows XP(32位)的机器上安装 HP LaserJet Pro M127/128 的驱动程序,官方提供了相应操作系统的驱动程序,但总会发生如下情况之一:

(1)使用 HP 官方的安装程序(不论是“全功能软件和驱动程序”还是“PCLm 打印驱动程序”)进行安装,经历漫长的等待后,报“发生严重错误”,安装失败;

(2)对官方安装程序解包,或下载官方的“PCLm 驱动程序(无安装程序)”,然后在控制面板中手动添加打印机,或者使用设备管理器对“其他设备”中对应的感叹号设备进行更新(此时错误代码为 28:此设备的驱动程序未安装),开始安装后很快报错“系统找不到指定的文件”。

解决方法:

尝试多种方法未果后,抱着死马当活马医的心态尝试了一个百度知道中给出的答案:安装 .Net Framework 3.5(或者 .Net Framework 3.5 SP1)。非常神奇的是,装好后再尝试安装驱动,居然就真的顺利安装上了。

其他说明:

由于 Windows XP 对加密套件的支持比 Windows 7 还要古老,下载 .Net Framework 3.5 时最好下载离线安装包,并且在开始安装前断网(由于安装程序会尝试获取更新,但由于加密套件不支持会失败,一旦开始尝试就要等 5 个 60 秒才能放弃),安装完成后恢复网络即可。

Day 6470 时光微尘:关于 Windows 3.2 中一处翻译的追忆

前些日子,为了求证某位群友提出的一个 Microsoft Office 中的设计问题,在网上试图查找早期版本的 Office,未果,却顺手解决了一个儿时的心中疑问。

起因是想找到(可能是)第一个具有简体中文语言的 Word 6.0,为此先去安装了其运行环境 Windows 3.2 简体中文版。使用过该版本 Windows 的朋友可能还记得其附带了一个简单的“Windows 教程”,用于帮助用户熟悉鼠标的操作和 Windows 的系统设计,其中有一节内容有这样一个画面:

看到这里,一个自儿时就存在的疑问立刻从心底浮现了出来:“苏打水”里面的“价格”到底是什么玩意?

为了验证这个问题,借助万能的互联网,又找来了繁体中文版的 Windows 3.1(简体中文版的 Windows 3.x 是单独一个版本号 3.2,其他版本都是 3.1),终于解开了这个疑惑:

对比可以看出,“优格”被错写成了“价格”,并且在群友的提醒下还发现“圣代”被错写成了“苏打水”。Windows 3.2 发布于 1993 年,是否由于简中版的翻译人员没有吃过“优格”和“圣代”而导致写错已无法考证,但或许可以将这一胜景称作 zh-ms 的开始(彼时 Windows 简体中文版的其他翻译质量还是很高的,不会出现如今“坐和放宽”的笑话)。

为求严谨,后续还找来了英文版 Windows 3.1 和俄文版 Windows 3.11 进行对照验证,结果是相同的:

日文版不论是 DOS/V 版本还是 PC-9800 的版本都没有带这个教程,故跳过。

这还真是一则有趣的历史印记。

Day 6447 在 64 位 Windows 10 下继续使用 MSSQL Server 2000

部分非常老的应用因厂家未提供更新,被迫在 Windows 10 下继续沿用其附带的 MSSQL Server 2000,会遇到报错“无法定位序数1于动态链接库C:\Windows\SYSTEM32\SQLUNIRL.dll上”。

该报错来自 SQL Server 2000 的”服务管理器”组件,实际上,SQL Server 2000 并非需要该组件才能正常运行,它只是提供了一个启动、停止 SQL 服务的界面,故该问题有两种解决方法:

1、禁用 SQL Server Service Manager 的自动启动:

右键单击任务栏选择“任务管理器”,在“启动”标签下找到 SQL Server Service Manager,右键单击选择“禁用”即可。

2、如果因为某些原因仍然需要此组件,也可以修复此问题:

以管理员权限打开命令提示符(cmd.exe),执行下列指令为 sqlunirl.dll 获取 TrustedInstaller 权限:

(注:MSSQL2000 是 32 位应用程序,本例 Windows 10 为 64 位版本,故下列指令中实际操作的是存在于 SysWOW64 目录中的文件,如为 32 位 Windows 10,请自行调整操作目标文件)

takeown /f “C:\Windows\SysWOW64\sqlunirl.dll”

icacls “C:\Windows\SysWOW64\sqlunirl.dll” /grant administrators:F

接下来,从 SQL Server 2000 安装包的 _x86\SYSTEM 目录下复制一个原版的 sqlunirl.dll,使用上述指令使其获得 TrustedInstaller 权限(注意修改操作目标),然后覆盖 SysWOW64 下的同名文件即可(注意先获取权限再覆盖,未测试顺序可否颠倒,如操作失败请按顺序操作试试看)。

Day 6314 关闭 Windows 10 中“下载”文件夹始终以“日期”进行分组

情况描述:

在 Windows 10 中,系统默认的“下载”文件夹可能会始终以“修改日期”进行分组排序,即按照类似下图的方式进行显示,并且这种分组对于“下载”文件夹是默认的,不能通过:

(1)在右键菜单中选择“分组依据-(无)”的方式进行修改,或

(2)在进行第(1)步操作后,在“文件夹选项”对话框中选择“应用到文件夹”的方式进行覆盖。

发生原因:

依据多个来源的信息,该问题是在 Windows 10 1903 版本后引入的,“下载”文件夹按照“修改日期”进行分组来自于系统模板设计,通过一般方式无法修改,只能修改注册表中的默认值。

处理方式:

1、打开注册表以下路径(提示:可以直接复制整个路径到菜单栏下方的文本框中,并按回车跳转):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{885a186e-a440-4ada-812b-db871b942259}\TopViews\{00000000-0000-0000-0000-000000000000}

2、首先在左侧 {00000000-0000-0000-0000-000000000000} 项上点击右键,选择“权限”,并点击“高级”按钮,在对话框上方点击“所有者”(如果之前从未修改过该项的话,此处应显示为 SYSTEM)后面的“更改”,在后续弹出的“选择用户或组”中点击左下角的“高级”按钮,并在新弹出的“选择用户和组”对话框右侧点击“立即查找”,并在“搜索结果”中选择 Administrators(注意带s,意为管理员组),最后点击所有对话框的“确定”按钮。

3、在注册表右侧对以下键值的内容进行修改:

键值 GroupBy

原始值 System.DateModified

修改为 System.Null

键值 SortByList

原始值 prop:System.DateModified

修改为 prop:System.ItemNameDisplay

4、重启 explorer.exe 或系统,并重新进入“下载”文件夹,最后一次在右键菜单中将“分组依据”修改为“无”,此时关掉窗口再重新打开“下载”文件夹,可发现没有再次变回按修改时间分组,修改完毕。

参考资料:
1. https://superuser.com/questions/1566886/downloads-folder-keeps-getting-grouped

2. https://learn.microsoft.com/en-us/windows/win32/properties/props-system-null

3. https://blog.csdn.net/weixin_42218499/article/details/124884803

4. . https://www.cnblogs.com/lzl_17948876/p/14439746.html

Day 6304 全屏电池电量显示页面

页面地址:https://battery.win32.app/

因为一些个人需求,希望在全屏显示当前设备的剩余电量并动态更新。

该页面作者为 SilentDepth,并追加了群友 Zero Ny 的改进,使用现代浏览器访问上述页面地址即可。

仅在 Chrome 和 Microsoft Edge 下测试过确认可用,其它浏览器请自行测试。

不禁感慨:以前要是想实现一样的功能,无论如何都得写个 Native APP,而现在只要一个 HTML 页面就可以了,时代变化真快啊。