【问题标题】:Default Program Won't Open File默认程序不会打开文件
【发布时间】:2014-10-26 13:20:49
【问题描述】:

我用 C# 编写了一个程序,它以专有文件格式创建和打开文件。我使用 InstallShield Express 创建了安装程序。这些文件被创建并显示为我分配给它们的适当文件图标。

当我运行程序然后打开文件时,我的程序打开和创建的文件可以正常打开。但是当我转到文件所在的目录并双击它们时,它们关联的程序开始运行,但文件不会在该程序中自动打开。

例如,当您打开“.doc”文件时,Microsoft Word 会启动并打开 .doc 文件。这就是我想要发生的事情。我错过了什么吗?

【问题讨论】:

  • 文件路径应该已经传给程序的Main方法了,Main方法里面有逻辑处理参数,打开文件吗?
  • 不幸的是,我的程序中没有这样的代码。我对这种做法有点陌生,我不确定要写什么代码。

标签: c# windows-8.1 file-association default-programs


【解决方案1】:

如果双击文件启动相关程序,则可以从传递给Main 方法的参数中获取文件路径。

static void Main(string[] args)
{
    if ((args.Length > 0) && System.IO.File.Exists(args[0]))
    {            
        string filepath = args[0];
        System.Diagnostics.Debug.WriteLine("File path to open: " + filePath);
    }
}     

而且你有代码可以在创建文件后打开它,对吧?

“当我运行程序然后打开文件时,我的程序打开和创建的文件可以正常打开。”

那么你需要做的是从你的Main方法中调用那段代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多