我正在某些系统上部署一个小型转换工具,并希望用户能够通过右键单击Open with
菜单运行它。但我不想更改用户与此文件类型关联的默认程序。
很容易将文件扩展名/类型与程序相关联,但如何在不更改默认程序的情况下(当然是以编程方式)进行关联?
答案 0 :(得分:5)
设置以下按键对我有用:
key HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/App Paths/<progname>: "" = <appPath>
key HKCR/Applications/<progname>/SupportedTypes: <fileExt> = ""
key HKCR/<fileExt>: "" = <progID>
key HKCR/<progID>/OpenWithList/<progName>
key HKCR/<fileExt>/OpenWithList/<progName>
key HKCR/SystemFileAssociations/<fileExt>/OpenWithList/<progName>
delete key and subkey at HKCU/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/fileExts/<fileExt>
答案 1 :(得分:1)
您可以通过在Windows注册表中添加脚本,将脚本添加到上下文菜单(在Open with下面):
HKEY_CLASSES_ROOT\your_class\Shell
(Default)
值,并在上下文菜单中插入要显示的文字Command
的新密钥
(Default)
值并插入要执行的命令答案 2 :(得分:0)
在“文件类型”Windows对话框中,您可以在文件类型上单击“高级”,然后创建与您的应用程序绑定的自定义操作。
您可以找到以编程方式执行此操作的方法,或者至少使用等效的注册表选项创建.REG文件。
答案 3 :(得分:0)
我使用这些cmd命令实现了正确的FILE ASSOCIATION。 (只是一个例子):
REG ADD "HKEY_CLASSES_ROOT\Applications\notepad++.exe\shell\open\command" /v @ /t REG_SZ /d "\"C:\\Program Files\\Noteepad++\\notepad++.exe\" \"%1\"" /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt" /v "Application" /t REG_SZ /d "notepad++.exe" /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList" /v "g" /t REG_SZ /d "notepad++.exe" /f
assoc .txt=MyCustomType
ftype MyCustomType="C:\Program Files\Noteepad++\notepad++.exe" "%1"
(最好把它们放在.bat文件中)
答案 4 :(得分:-2)
这是XP为文件夹添加命令提示选项的工作示例。创建.reg文件
Windows注册表编辑器版本5.00
[HKEY_CLASSES_ROOT \ Directory \ shell \ Command Prompt]
[HKEY_CLASSES_ROOT \ Directory \ shell \ Command Prompt \ command] @ =“cmd.exe / k cd \”%1 \“”