我编写了一个写入文本文件的程序,需要在每次计算机启动时从中读取。
我使用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启动启动)都打印相同的路径。
有没有人对我的案子有任何想法?
感谢。
答案 0 :(得分:0)
您需要获取相对于可执行文件的路径。
尝试添加此AppDomain.CurrentDomain.BaseDirectory
,例如:
Process.Start(AppDomain.CurrentDomain.BaseDirectory + "settings.txt");