(不知道这是否属于超级用户,但似乎这里有一个cmd.exe标签,所以这里…)
作为背景,我正在开发一个Firefox附加组件(这个问题不需要Firefox的知识,因为Firefox附加组件可以调用命令行)。附加组件旨在为cmd创build不同types的快捷方式.exe(特别是为了我的项目https://github.com/brettz9/webappfind ,它允许文件直接从桌面打开到Web应用程序)。
无论如何,我想给用户关联这些快捷方式的选项:
要在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
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] 举报,一经查实,本站将立刻删除。