检测我的应用程序是否正在从用户目录执行

问题描述:

我需要检测我的应用程序是否正在从users目录执行。
例如c:/users on Windows7检测我的应用程序是否正在从用户目录执行

但我需要它在所有Windows版本上工作。

你可以得到当前应用程序的目录,如下所示:

string appPath = Path.GetDirectoryName(Application.ExecutablePath); 

然后,您需要一个字符串比较看,以检查是否路径startswith:

Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); 

或曾经的位置,您想要测试,请参阅here以获取list os特殊文件夹。这些在每个操作系统版本下都可以正确解析

bool isUsersPath = System.Reflection.Assembly.GetExecutingAssembly().Location.StartsWith(System.Environment.GetFolderPath(Environment.SpecialFolder.UserProfile))