1

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

4

3 回答 3

4

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

例如:

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];
    //...
}

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

string[] args = Environment.GetCommandLineArgs();
string filePath = args[0];
于 2012-11-11T15:19:28.840 回答
2

如果您使用应用程序(exe 文件)打开ddd.txt,则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
{

}

}
于 2012-11-13T20:05:39.433 回答
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"; 
于 2012-11-11T15:03:57.477 回答