Windows 无法设置与正在开发的程序的文件关联

Windows 无法设置与正在开发的程序的文件关联,windows,file-association,open-with,Windows,File Association,Open With,Windows 7-我无法将正在编程的可执行文件与其创建的文件类型相关联 我正在使用(2种方式)获得“打开对话框”: 一,------------------- 控制面板-默认程序-将文件类型或协议与程序关联 我选择我的文件扩展名,然后按“更改程序” 二,------------------- 双击我的文档文件(它还没有任何扩展名) 选择“从已安装程序列表中选择程序” 在这两种情况下,我都会得到“打开方式”对话框 问题描述: 我可以浏览我的.exe文件,但当我选择它时(“打开”在“打开…

Windows 7-我无法将正在编程的可执行文件与其创建的文件类型相关联

我正在使用(2种方式)获得“打开对话框”:

一,-------------------

  • 控制面板-默认程序-将文件类型或协议与程序关联
  • 我选择我的文件扩展名,然后按“更改程序”
二,-------------------

  • 双击我的文档文件(它还没有任何扩展名)
  • 选择“从已安装程序列表中选择程序”
在这两种情况下,我都会得到“打开方式”对话框

问题描述: 我可以浏览我的.exe文件,但当我选择它时(“打开”在“打开…”文件选择对话框中)。。。什么也没发生。“打开方式”对话框的“可用可执行文件”部分中不会出现新文件

为什么它不起作用


权限?损坏的注册表?新规则

以下是您应该做的:

  • 确保应用程序正确处理参数。当您打开与应用程序关联的文件类型时,它相当于在cmd中执行此命令

    YourApp.exe“C:\Path\fileName.ext”

    因此
    C:\Path\fileName.ext将作为参数传递给应用程序

    您的主类应该如下所示:

    static void Main(string[] args) { ... }
    
    检查
    args
    中的文件路径,然后编写代码以加载文件并读取文件

  • 您需要将文件扩展名与应用程序相关联。您可以通过控制面板或在“打开方式”窗口中浏览应用程序来完成此操作。(这是您已经完成的)

  • 编辑:尝试使用这些注册表将文件类型与应用程序关联:

    [HKEY_CURRENT_USER\Software\Classes\<fileExt>]
    @="<fileClass>"
    
    [HKEY_CURRENT_USER\Software\Classes\<fileClass>]
    [HKEY_CURRENT_USER\Software\Classes\<fileClass>\OpenWithList]
    [HKEY_CURRENT_USER\Software\Classes\<fileClass>\OpenWithList\<appName>]
    
    [HKEY_CURRENT_USER\Software\Classes\Applications\<appName>]
    [HKEY_CURRENT_USER\Software\Classes\Applications\<appName>\shell]
    [HKEY_CURRENT_USER\Software\Classes\Applications\<appName>\shell\open]
    [HKEY_CURRENT_USER\Software\Classes\Applications\<appName>\shell\open\command]
    @="\"C:\\Program Files\\appFolder\\<appName>\" \"%1\""
    [HKEY_CURRENT_USER\Software\Classes\Applications\<appName>\SupportedTypes]
    "<fileExt>"=""
    
    [HKEY\U当前用户\软件\类\]
    @=""
    [HKEY\U当前用户\软件\类\]
    [HKEY\U CURRENT\U USER\Software\Classes\\OpenWithList]
    [HKEY\U当前用户\软件\类\\OpenWithList\]
    [HKEY\ U当前\用户\软件\类\应用\]
    [HKEY\ U当前\用户\软件\类\应用程序\\shell]
    [HKEY\U CURRENT\U USER\Software\Classes\Applications\\shell\open]
    [HKEY\U CURRENT\U USER\Software\Classes\Applications\\shell\open\command]
    @=“C:\\Program Files\\appFolder\\\”\%1“
    [HKEY\U当前用户\软件\类\应用程序\\支持的类型]
    ""=""
    
    谢谢。我已经尝试了所有方法,但是我的配置有一个bug。我在寻找那个不会让met做我找不到的联想的东西。我在任何其他机器上都没有关联文件,但在我的开发机器上它就是不工作。不知道为什么。请尝试使用注册表将文件扩展名与应用程序关联。我已经添加了一个示例。谢谢你Maverick。我现在工作。我删除了所有与我的分机有关的东西。我用一个小工具添加了两个新命令。我做了一些微软的修复。它最终让我可以正常地进行文件关联。我不知道到底是什么解决了我的问题。但是谢谢你提供的信息。