为 Windows 7 创建 .reg 文件

为 Windows 7 创建 .reg 文件

我创建了一个 .reg 文件,但是当我双击它时,它不想被导入。

指定的文件不是注册表脚本。您只能从注册表编辑器中导入二进制注册表文件。

这是 .reg 文件的内容

[HKEY_CLASSES_ROOT\Folder\shell\PngCrush]
@=”PNG Crush”

[HKEY_CLASSES-ROOT\Folder\shell\PngCrush\command]
@=”E:\Programs\PNGCrush\crush.bat %1”

有人能帮我吗?提前谢谢

答案1

我不知道这些引号是怎么出现在该文件中的,但我认为它们不起作用(也许你是从 Wordpress 博客上复制过来的)。

除此之外,我认为应该是这样的:

[HKEY_CLASSES_ROOT\Folder\shell\PngCrush]
@="PNG Crush"

[HKEY_CLASSES-ROOT\Folder\shell\PngCrush\command]
@="E:\Programs\PNGCrush\crush.bat %1"

答案2

这不是注册表文件的有效语法,它缺少标题。

在前面添加一行:Windows Registry Editor Version 5.00

检查是否存在无效字符,如果您以 Unicode 保存文件,则可能会出现问题。

答案3

只是将所有答案与我发现的一些额外信息汇总在一起。

第一行标题: Windows Registry Editor Version 5.00

  • 按键之间的空行由“CRLF”分隔
  • 键括号内无空格
  • 双引号中的值
  • 十六进制的整数/字值-字母显然为小写

例子

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\MyOrg]

[HKEY_LOCAL_MACHINE\SOFTWARE\MyOrg\MyKey]
"My Value"="Some String"
"My Flag or Integer"=dword:00000001

允许的编码似乎也对应于 Windows API 字符串:

  • 8 位固定宽度:Windows-1252 - 几乎与 ISO-8859-1 相同
  • 16 位固定宽度:UCS-2LE(小端)- 基本与 UTF-16 相同

注意:当文本编辑器将编码说成是“unicode”时,它可能意味着 UTF-8,这是一种可变宽度编码,与 Windows 内部不兼容。

注 2(编辑):ASCII 是 7 位,而且据我所知,所有正在使用的处理器都是 2 的幂位,因此它总是被包装在其他 ASCII 超集(如 1252)中。#thingsyoulearnafteruni

答案4

我遇到了同样的问题,因为我将其保存为 UTF-8-BOM。它应该是没有 BOM(字节顺序标记)的 UTF-8。值得注意。

相关内容