系统找不到指定的文件c#

时间:2016-12-17 20:56:13

标签: c# windows file

我编写了一个写入文本文件的程序,需要在每次计算机启动时从中读取。

我使用Registry将我的程序添加到Startup程序中,并编写了这个简化代码:

private void Form1_Load(object sender, EventArgs e)
{
   try
   {
      Process.Start("settings.txt");
   }
   catch(Exception ex)
   {
      MessageBox.Show(ex.ToString());
   }
  }

private void button1_Click(object sender, EventArgs e)
{
    File.WriteAllText("settings.txt", "Test Writing");
}

令人惊讶的是,我收到了错误:

  

系统找不到指定的文件

例外,下次我重新启动计算机并且该程序运行...就像文件不存在一样......

更重要的是,当我启动程序(手动)时,它会找到该文件并启动它(我想从该文本文件中读取,但是现在我只是想尝试启动它)。

我还尝试打印程序执行路径,但两次尝试(手动启动和Windows启动启动)都打印相同的路径。

有没有人对我的案子有任何想法?

感谢。

1 个答案:

答案 0 :(得分:0)

您需要获取相对于可执行文件的路径。

尝试添加此AppDomain.CurrentDomain.BaseDirectory,例如:

Process.Start(AppDomain.CurrentDomain.BaseDirectory + "settings.txt");