当前位置:  开发笔记 > 编程语言 > 正文

将扩展程序与程序关联的脚本

如何解决《将扩展程序与程序关联的脚本》经验,为你挑选了1个好方法。

我的客户正在某些工作站中用OpenOffice替换MS Office.我的程序使用.xml扩展名(使用开放格式)将文件导出到Excel,并使用当前关联的程序打开它(使用ShellExecute)

问题是OpenOffice没有注册与之关联的.xml扩展名.

手动关联工作正常,但我想制作一个.reg或其他东西来轻松更改设置.

我正在PC中查看已经进行了更改的注册表,但是

"HKEY_CLASSES_ROOT\.xml" 

key没有引用OpenOffice的任何内容.

协会存储在哪里?如何制作脚本来完成工作?



1> Tomalak..:

真实关联存储在"HKEY_CLASSES_ROOT\.xml"指向的键中.

在我的机器上,该键的默认值表示"xmlfile",很可能是您的相同.

那我们去吧"HKEY_CLASSES_ROOT\xmlfile".在那里,您可以看到(并更改)将用于启动该类型文件的命令:

HKEY_CLASSES_ROOT\xmlfile\shell\open\command

Windows使用这种重定向将多个文件扩展名映射到相同的文件类型,从而映射到同一个应用程序.

"HKEY_CLASSES_ROOT\xmlfile\shell"下面有多个子键,类似于你可以对文件做的"动词".同样,"shell"如果双击文件,键的默认值将决定使用这些谓词中的哪一个.就我而言,这是"open".

结论:

有了这些知识,创建关联脚本的最简单方法是使用regedit导出包含该更改的.reg文件,并通过双击或将其应用于目标计算机:

regedit /s new_xml_association.reg

或者(如果您使用的是XP或更高版本且知道自己做了什么)用以下内容覆盖当前值:

reg add "HKEY_CLASSES_ROOT\xmlfile\shell\open\command" /ve /d "path\to\program %1"

无论如何,reg add/?建议深入了解命令.第一种解决方案更安全.

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有