使用我的c#应用程序打开特定文件 - 比如用Word打开.doc文件

时间:2012-11-11 13:57:36

标签: c# visual-studio-2010 file

您可以将 Windows 设置为使用Word或其他应用程序打开.doc文件。我如何创建这样一个可以处理的c#应用程序,如果用于例如我用该应用程序打开 .txt 文件?所以计划是:有一个 information.kkk 文件,它是一个文本文件,里面有一个数字。我希望我的c#应用程序( Visual Studio 2010 )在文件被它打开时接收该号码。

3 个答案:

答案 0 :(得分:4)

在控制台应用程序中,在Main函数中使用args参数。第一个arg是打开文件的路径。

例如:

class Program
{
    static void Main(string[] args)
    {
        var filePath = args[0];

        //...
    }
}

在WPF应用程序中使用Application_Startup事件:

private void Application_Startup(object sender, StartupEventArgs e)
{
    var filePath = e.Args[0];
    //...
}

或使用Enviroment类 - 您的.net应用程序中的任何位置:

string[] args = Environment.GetCommandLineArgs();
string filePath = args[0];

答案 1 :(得分:2)

如果您使用应用程序打开 ddd.txt exe文件),那么 string [] Args 将有两个项目:程序的路径本身和 ddd.txt 路径。以下示例代码显示了如何将 ddd.txt 文件放在 Form1 上的 textBox 中。非常感谢大家的帮助。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public static class Environment
        {
        }
        public Form1()
        {
            InitializeComponent();
        }

    private void Form1_Load(object sender, EventArgs e)
    {
        string[] args = System.Environment.GetCommandLineArgs();
        string filePath = args[0];
        for (int i = 0; i <= args.Length - 1; i++)
        {
            if (args[i].EndsWith(".exe") == false)
            {
                textBox1.Text = System.IO.File.ReadAllText(args[i],
                Encoding.Default);
            }
        }
    }
    private void Application_Startup(object sender, StartupEventArgs e)
    {
        string[] args = System.Environment.GetCommandLineArgs();
        string filePath = args[0];
    }


}
public sealed class StartupEventArgs : EventArgs
{

}

}

答案 2 :(得分:0)

Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();            


// Set filter for file extension and default file extension 

dlg.DefaultExt = ".kkk"; 

dlg.Filter = "KKK documents (.kkk)|*.kkk";