微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FTYPE / ASSOC优先级,并从命令行添加到OpenWithList

(不知道这是否属于超级用户,但似乎这里有一个cmd.exe标签,所以这里…)

作为背景,我正在开发一个Firefox附加组件(这个问题不需要Firefox的知识,因为Firefox附加组件可以调用命令行)。附加组件旨在为cmd创build不同types的快捷方式.exe(特别是为了我的项目https://github.com/brettz9/webappfind ,它允许文件直接从桌面打开到Web应用程序)。

无论如何,我想给用户关联这些快捷方式的选项:

作为特定文件扩展名或文件types的认处理程序。

要在Open With应用程序列表中显示(即使用户不select将应用程序作为认处理程序)

至于认处理,我已经find了ftype和assoc (和associate )命令,但是我已经读了用户select将会覆盖他们的行为。 有什么方法可以确保我可以在命令行中将文件扩展名关联到types和特定的可执行文件(直到用户再次更改它),或者如果它是不可能的,那么至less通过C ++或类似的文件可以获得优先级?

Windows批处理脚本:将文本传送到命令行应用程序中

Gstreamerdebugging不工作

C编程,unicode和linuxterminal

PowerShell 2.0redirect文件句柄exception

如何从Windows命令行执行HTTP HEAD请求?

至于Open With列表:

HKEY_CURRENT_USERSoftwareMicrosoftwindowsCurrentVersionExplorerFileExts<file extension>OpenWithList

…在我的testing(与exe),这个命令:

reg add HKEY_CURRENT_USERSoftwareMicrosoftwindowsCurrentVersionExplorerFileExts.svgopenWithList /vd /d D:wampwwwwebappfindcplusplusWebAppFinder-view-mode-Firefox.exe

…确实导致exe文件出现在:

reg query HKEY_CURRENT_USERSoftwareMicrosoftwindowsCurrentVersionExplorerFileExts.svgopenWithList

…但是当我随后用“.svg”扩展名右键单击一个文件时,它没有出现。

我非常感谢这两点的帮助。

PHP的SVN更新 – TortoiseSVN

命令行sorcerery

Windows命令行的JavaScript

文件写完成后处理文件Windows命令行.bat

你如何提示使用Ruby的sudo密码

REGEDIT4 [HKEY_CURRENT_USERSoftwareClassesApplicationsMYFOO.exeshellopencommand] @=""C:\MYFOO.exe" "%1"" [HKEY_CURRENT_USERSoftwareMicrosoftwindowsCurrentVersionExplorerFileExts.myfoo] "Application"="MYFOO.EXE" [HKEY_CURRENT_USERSoftwareMicrosoftwindowsCurrentVersionExplorerFileExts.myfooOpenWithList] "a"="MYFOO.EXE" "MRUList"="a"

所以我得到了一个调查是什么使这些文件关联。 看起来你必须创建一个从最初的两个long-ish行显示的EXE名字到完整路径的映射。 那么您只能在.extension分支中使用EXE名称。 设置.extension的应用程序值将立即为您提供您的认应用程序。 请记住,只能使用APP.EXE ,其完整路径必须如上定义。 这是你的主要错误。 “%1”部分允许您自定义程序的参数,使其不必仅仅是引号中的打开的文档,如下所示。 反斜杠只是Regedit的转义字符,你可以在你认为合适的时候丢弃它们。

OpenWithList是棘手的,因为有字母的条目,只是一个盲目的写可能会覆盖一些用户最喜欢的应用程序。 一种方法是打电话给你的项目“z”来降低覆盖的概率。 正确的方法将枚举的关键和给你的应用程序的第一封免费信。 MRUList并不是必不可少的,尽管它每次都应该使用一个字母,而你却碰到了一个开始。

关于用户友好的注意事项:资源管理器将缓存这些值直到下一次重新启 请确保您更新注册表并首先将exe放在后面并创建文件。 尽管高速缓存只能完全影响文件显示,并且在运行时会再次读取注册表,并会按需要执行。

提示:如果您决定使用Regedit而不是reg ,则/s参数将跳过确认消息并立即应用这些值。 确保在完整路径中使用双反斜杠,如图所示。 在准备您的临时.reg文件时,请确保将两个CRLF附加到最后,否则可能会导致最后一行代码被忽略。 此示例以REGEDIT4开头,表示ANSI文件。 如果您需要在应用程序路径中支持Unicode,则必须使用Windows Registry Editor Version 5.00启动该文件,并将其存储在UTF16中。 这已经是调用reg的高级解决方案了,因为没有办法让CMD.EXE通过命令行来处理特殊的UTF内容,而不会造成混乱。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐