我有一个表格。打开表单时,它将读取文件夹中的文本文件: (Debug)\Data\text.txt 并显示在文本框上......这真的是一个简单的表单。
在我设置我的表单在启动时运行之后
我使用这种方式在 Startup Folder 中创建我的程序快捷方式。
private void creatShortcut()
{
WshShell = new WshShellClass();
IWshRuntimeLibrary.IWshShortcut MyShortcut;
MyShortcut = (IWshRuntimeLibrary.IWshShortcut)WshShell.CreateShortcut(Environment.GetFolderPath(Environment.SpecialFolder.Startup)+"\\FaceLogin.lnk");
MyShortcut.TargetPath = Application.ExecutablePath;
MyShortcut.Description = "Face Login";
MyShortcut.IconLocation = Application.StartupPath + @"\Data\camera.ico";
MyShortcut.Save();
}
在我运行我的表格之后。它成功地在 Startup 文件夹中创建了一个快捷方式。我重新启动计算机进行测试,但它抛出了这个异常。
找不到路径“C:\Users\Key\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\data\face.fac”的一部分。
这是我阅读 face.fac 的代码
private void loadDuLieu()
{
FileStream fs = null;
try
{
if (!File.Exists(Application.StartupPath + "\\data\\face.fac"))
fs = File.Create(Application.StartupPath + "\\data\\face.fac");
else
fs = File.OpenRead(Application.StartupPath + "\\data\\face.fac");
BinaryFormatter bf = new BinaryFormatter();
if (fs != null)
lstDSMat = (List<Face>)bf.Deserialize(fs);
}
}
catch (Exception ex)
{
return;
}
finally
{
if (fs != null)
fs.Close();
}
}
这意味着我的程序在启动文件夹中找不到“data\face.fac”。我不明白,因为启动文件夹只有我的程序快捷方式,没有别的。
我如何解决这个问题以在 Startup 中运行我的人脸登录程序而不会出现该错误?