C# 如何检测1台计算机中何时有2个用户/帐户,以及检测当前正在使用的用户/帐户
当PC只有1个用户/帐户时,这项功能非常有效,但当我在笔记本电脑上尝试时,它只会显示无效(目录)C# 如何检测1台计算机中何时有2个用户/帐户,以及检测当前正在使用的用户/帐户,c#,file,directory,C#,File,Directory,当PC只有1个用户/帐户时,这项功能非常有效,但当我在笔记本电脑上尝试时,它只会显示无效(目录) 如评论中所述,您可以(应该)使用: Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) 然后我还建议使用Path.combined,如下所示: var basePath=Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicatio
如评论中所述,您可以(应该)使用:
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
然后我还建议使用Path.combined
,如下所示:
var basePath=Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
watcher.Path=Path.Combine(basePath,“Secret”,“Secret”);
而不是手动构建路径。您的笔记本电脑上是否存在目录
C:\Users\{Username}\AppData\Local\Secret\Secret
?是的,但有2个用户,因此它不知道选择什么。如果该目录不存在,您必须首先创建它。顺便说一下,您可以使用Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
获取路径的第一部分。(“C:\Users\\AppData\Local”)正是@Herohtar所说的,除了can->must。。。没有其他方法可以知道特殊文件夹的位置。。。
private static void CreateWatcher()
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Filter = "*.txt*";
watcher.Created += new FileSystemEventHandler(Watcher_FileCreatedAsync);
String UserName = Environment.UserName;
watcher.Path = $@"C:\Users\{UserName}\AppData\Local\Secret\secret";
watcher.EnableRaisingEvents = true;
}
private static async void Watcher_FileCreatedAsync(object sender, FileSystemEventArgs e)
{
MessageBox.Show("Txt has been created");
}
private async void Loginc_Load(object sender, EventArgs e)
{
CreateWatcher();
}