我正在某些系統上部署小型轉換工具,並希望用戶能夠通過右鍵單擊Open with
菜單運行它。但我不想更改用戶與此文件類型關聯的默認程序。如何在不使用默認程序的情況下將文件擴展名關聯到程序
很容易將文件擴展名/類型關聯到程序,但是如何在不改變默認程序的情況下(當然是以編程方式)執行它?
我正在某些系統上部署小型轉換工具,並希望用戶能夠通過右鍵單擊Open with
菜單運行它。但我不想更改用戶與此文件類型關聯的默認程序。如何在不使用默認程序的情況下將文件擴展名關聯到程序
很容易將文件擴展名/類型關聯到程序,但是如何在不改變默認程序的情況下(當然是以編程方式)執行它?
設置以下鍵爲我工作:
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>
您可以通過在Windows註冊表中添加其添加腳本的上下文菜單(以下公開賽):
HKEY_CLASSES_ROOT\your_class\Shell
(Default)
值並在上下文菜單中插入要顯示的文本Command
的新密鑰鍵(Default)
值並插入要執行的命令我已經實現了正確的文件ASSO CIATION使用這些cmd命令。 (只是一個例子):
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文件)
這也是我以前試過,但對我來說這是不夠的;默認關聯是在Explorer中手工完成的,由於某種原因,它阻止了這個文件的處理。 – CharlesB 2010-06-02 12:40:03