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