2010-06-02 43 views

回答

4

设置以下键为我工作:

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

您可以通过在Windows注册表中添加其添加脚本的上下文菜单(以下公开赛):

  1. 打开注册表编辑器
  2. 转到HKEY_CLASSES_ROOT\your_class\Shell
  3. 添加一个新的密钥,并给它一个名字
  4. 编辑该密钥的(Default)值并在上下文菜单中插入要显示的文本
  5. 在新创建的新密钥下添加一个名为Command的新密钥键
  6. 编辑该键的(Default)值并插入要执行的命令
  7. 享受!
+0

这也是我以前试过,但对我来说这是不够的;默认关联是在Explorer中手工完成的,由于某种原因,它阻止了这个文件的处理。 – CharlesB 2010-06-02 12:40:03

0

在“文件类型”窗口对话框中,您可以在文件类型上单击“高级”,然后在那里创建与应用程序绑定的自定义操作。

可能您也可以通过编程方式找到一种方法,或者至少使用等效的注册表选项创建.REG文件。

+0

是的我想以编程方式执行 – CharlesB 2010-06-02 09:30:20

+0

您可以使用Win32注册表功能 - http://msdn.microsoft.com/en-us/library/ms724875(VS.85).aspx - 创建/更改相关注册表项 – ob1 2010-06-02 11:35:29

-2

这是一个为XP添加命令提示符选项的工作示例文件夹。创建一个.reg文件

Windows注册表编辑器5.00版

[HKEY_CLASSES_ROOT \目录\壳\命令提示符]

[HKEY_CLASSES_ROOT \目录\壳\命令提示符\命令] @ =“CMD。 EXE/K CD \ “%1 \””

+0

这将使默认应用程序,而我不想更改默认程序。 – CharlesB 2010-06-04 18:52:46

+0

不是在XP上,它没有。它只是添加一个选项命令提示符 – Wudang 2010-06-07 10:57:32

0

我已经实现了正确的文件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文件)