Windows 7 -我无法将我正在编写的可执行文件与它创建的文件类型相关联
我正在使用(2种方法)来获得"打开对话框":
1 -------------------
- 控制面板-默认程序-将文件类型或协议与程序关联
- 我选择我的文件扩展名,然后按"更改程序"
2 -------------------
- 双击我的文档文件(没有任何扩展名)
- 选择"从已安装程序列表中选择一个程序"
在这两种情况下,我得到"打开"对话框。
问题描述:我可以浏览我的。exe文件,但当我选择它("打开"在"打开与…"文件选择对话框)…没有什么发生。在"open With"对话框的可用可执行文件部分中没有出现新文件。
为什么不工作??
权限吗?注册表损坏?新规则?
你应该这样做:
-
确保应用程序正确处理参数。当您打开与应用程序相关的文件类型时,它相当于在cmd
中执行此命令。YourApp.exe"C: 请"
因此
C:PathfileName.ext
将作为参数传递给应用程序。你的主类应该看起来像这样:
static void Main(string[] args) { ... }
检查
args
中的filePath并编写代码来加载和读取文件 -
您需要将文件扩展名与应用程序相关联。你可以通过控制面板或通过打开窗口浏览应用程序。(你已经这样做了)
编辑:尝试使用这些注册表将文件类型与应用程序相关联:
[HKEY_CURRENT_USERSoftwareClasses<fileExt>]
@="<fileClass>"
[HKEY_CURRENT_USERSoftwareClasses<fileClass>]
[HKEY_CURRENT_USERSoftwareClasses<fileClass>OpenWithList]
[HKEY_CURRENT_USERSoftwareClasses<fileClass>OpenWithList<appName>]
[HKEY_CURRENT_USERSoftwareClassesApplications<appName>]
[HKEY_CURRENT_USERSoftwareClassesApplications<appName>shell]
[HKEY_CURRENT_USERSoftwareClassesApplications<appName>shellopen]
[HKEY_CURRENT_USERSoftwareClassesApplications<appName>shellopencommand]
@=""C:\Program Files\appFolder\<appName>" "%1""
[HKEY_CURRENT_USERSoftwareClassesApplications<appName>SupportedTypes]
"<fileExt>"=""