我的应用程序附带的文本文件有一个奇怪的问题。
该文件包含一堆站点,当程序启动时,它将站点加载到一个数组中。
在 Windows 7 上,当我启动应用程序时,我没有收到任何错误。然而,在 XP 上我得到c:\Document and setting\I\Application Data\fourmlinks.txt file not found.
了奇怪的部分是我用它制作了一个包含内容的文本文件,并将它放在应用程序文件夹中。
这就是我在代码中调用的方式:
string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\fourmlinks.txt";
我的问题是我无法创建新文件,因为它包含应用程序需要和正在使用的基本数据。
首次启动后,用户可以根据需要编辑文件。
我不确定为什么会发生这种情况,但这只发生在 Windows XP 上。
我怎么解决这个问题?
编辑
keyboardP 建议检查正在运行的窗口,然后通过它更改路径。所以我想出了这个代码:
System.OperatingSystem osInfo = System.Environment.OSVersion;
if (osInfo.Platform == PlatformID.Win32NT)
path = Environment.SpecialFolder.LocalApplicationData + "\\fourmlinks.txt";
else
path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\fourmlinks.txt";
问题是即使在 Windows 7 上我也得到了真实,当我需要得到错误时。有没有办法确保我在 XP 或 Windows 7 上以不同的方式运行?
编辑 2
使用操作系统的检查,我现在可以确定我是 Windows 7 或 Windows XP。因此,代码在 Windows 7 上再次运行 find 但在 Windows XP 上我收到不同的错误消息:
我真的不知道我在程序中添加的路径如何成为错误所说的我正在请求的路径。