有没有办法检查 c# 程序是否由具有关联扩展名的文件打开?
Is there a way to check wheather the c# program was opened by a file with associated extension?
我想检查我的 C# 程序是否被具有关联扩展名的文件打开。如果程序是由该文件打开的,它应该执行该函数:
public void openFile(String pathToFile) {
if (File.Exists(pathToFile)) {
int counter = 0;
string line;
StreamReader file = new System.IO.StreamReader(pathToFile);
while ((line = file.ReadLine()) != null) {
listBox1.Items.Add(line);
counter++;
}
file.Close();
}
}
我已经关联了分机。
如果您要查找启动程序的双击文件(或其他 "executed"):
在 program.cs
中将 static void Main()
替换为 static void Main(string[] args)
。这将允许您查看传递给您的程序的参数。第一个参数 (args[0]
) 将是被双击的文件的名称。
这是我写的一个快速测试:
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
for (int i = 0; i < args.Length; i++) MessageBox.Show("args[" + i.ToString() + "]: " + args[i]);
Application.Run(new Form1(args));
}
我想检查我的 C# 程序是否被具有关联扩展名的文件打开。如果程序是由该文件打开的,它应该执行该函数:
public void openFile(String pathToFile) {
if (File.Exists(pathToFile)) {
int counter = 0;
string line;
StreamReader file = new System.IO.StreamReader(pathToFile);
while ((line = file.ReadLine()) != null) {
listBox1.Items.Add(line);
counter++;
}
file.Close();
}
}
我已经关联了分机。
如果您要查找启动程序的双击文件(或其他 "executed"):
在 program.cs
中将 static void Main()
替换为 static void Main(string[] args)
。这将允许您查看传递给您的程序的参数。第一个参数 (args[0]
) 将是被双击的文件的名称。
这是我写的一个快速测试:
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
for (int i = 0; i < args.Length; i++) MessageBox.Show("args[" + i.ToString() + "]: " + args[i]);
Application.Run(new Form1(args));
}