【发布时间】:2016-12-17 20:56:13
【问题描述】:
我写了一个程序,它写入一个文本文件,并需要在每次计算机启动时读取它。
我使用注册表将我的程序添加到启动程序中,并编写了以下简单代码:
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 启动启动)都打印相同的路径。
有人知道我的案子吗?
谢谢。
【问题讨论】:
-
并不奇怪。如果该文件与您的应用不在同一个文件夹中,则不会被找到。
-
是的,我的猜测是,当您手动运行程序时,它的“启动”位置或当前路径与系统为您启动时的当前路径不同。
-
请参阅stackoverflow.com/questions/837488/…,了解如何找到应用程序的路径。