我需要检测我的应用程序是否正在users
目录中执行
例如 Windows7 上的c:/users
。
但我需要它才能在所有Windows版本上运行。
答案 0 :(得分:4)
您可以按如下方式获取当前应用程序的目录:
string appPath = Path.GetDirectoryName(Application.ExecutablePath);
然后你需要一个字符串比较来查看路径是否以:
开头Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
或者您要测试哪个位置,请参阅here以获取列表特殊文件夹。这些在每个操作系统版本下都适当解决。
答案 1 :(得分:1)
bool isUsersPath = System.Reflection.Assembly.GetExecutingAssembly().Location.StartsWith(System.Environment.GetFolderPath(Environment.SpecialFolder.UserProfile))