如何知道文件是否已移至虚拟商店?

时间:2014-07-14 06:37:34

标签: c# .net vb.net

在窗口7和8下,如果程序生成的文件放在应用程序可执行文件的相同路径下(例如,使用“Application.StartupPath”),windows会自动将其移动到'virtualstore'文件夹

对于这种情况,如果我使用以下方法检查文件是否存在于程序内部: if file.exists(application.startuppath & file),即使文件已移至虚拟商店,也会返回True

但是对于某些用户,他们会以某种方式禁用文件可视化,因此文件将保留在程序文件夹下。我的问题是,如何通过代码确定该文件所在的文件夹?

编辑: 问题更像是:如何检查应用程序文件夹下是否存在文件,'File.Exists'在这种情况下效果不佳,因为它总是返回True。

1 个答案:

答案 0 :(得分:1)

通过检查VirtualStore位置。 VirtualStore是%localappdata%Environment.SpecialFolder.LocalApplicationData)的子目录。然后将应用程序的文件夹添加到它(从Program Files开始)和文件名。现在检查文件是否存在。