在窗口7和8下,如果程序生成的文件放在应用程序可执行文件的相同路径下(例如,使用“Application.StartupPath”),windows会自动将其移动到'virtualstore'文件夹
对于这种情况,如果我使用以下方法检查文件是否存在于程序内部:
if file.exists(application.startuppath & file)
,即使文件已移至虚拟商店,也会返回True
。
但是对于某些用户,他们会以某种方式禁用文件可视化,因此文件将保留在程序文件夹下。我的问题是,如何通过代码确定该文件所在的文件夹?
编辑: 问题更像是:如何检查应用程序文件夹下是否存在文件,'File.Exists'在这种情况下效果不佳,因为它总是返回True。
答案 0 :(得分:1)
通过检查VirtualStore位置。
VirtualStore是%localappdata%
(Environment.SpecialFolder.LocalApplicationData
)的子目录。然后将应用程序的文件夹添加到它(从Program Files
开始)和文件名。现在检查文件是否存在。