在 C# 中访问其他用户的本地应用程序设置
Access other user's local application settings in C#
我有 WPF 应用程序,假设 Application1,运行 在 User1 下。我需要在 Application2.
的 AppData 文件夹中访问 User2 的用户范围设置
那么,真正发生的事情是这样的:
- User1 已登录用户,在 windows
- User1 实际上是与帐户 User2
关联的人
- User1 启动 Application1
- Application1 要求提供凭据以确保 User1 作为适当的用户 (User2 在这种情况下)
- 现在,Application1 应该 运行 Application2 使用提供的凭据,但在此之前,它应该检查 User2 Application2
的设置
没有 运行ning Application1 作为 User2 我怎么能做到这一点?
如果我可以在 运行 时更改 Application1 的进程所有者,那也是可以接受的解决方案。
我最终 运行 User2 下的另一个自定义控制台程序,它将设置文件读取为 XmlDocument。
读取设置文件:
if (File.Exists(settingsPath))
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(settingsPath);
XmlNode settingsNode = xmlDocument.SelectSingleNode("/XPath.to.node.you.are.looking.for");
foreach(XmlNode xmlNode in settingsNode.ChildNodes)
{
//do some work
}
}
我有 WPF 应用程序,假设 Application1,运行 在 User1 下。我需要在 Application2.
的 AppData 文件夹中访问 User2 的用户范围设置那么,真正发生的事情是这样的:
- User1 已登录用户,在 windows
- User1 实际上是与帐户 User2 关联的人
- User1 启动 Application1
- Application1 要求提供凭据以确保 User1 作为适当的用户 (User2 在这种情况下)
- 现在,Application1 应该 运行 Application2 使用提供的凭据,但在此之前,它应该检查 User2 Application2 的设置
没有 运行ning Application1 作为 User2 我怎么能做到这一点?
如果我可以在 运行 时更改 Application1 的进程所有者,那也是可以接受的解决方案。
我最终 运行 User2 下的另一个自定义控制台程序,它将设置文件读取为 XmlDocument。
读取设置文件:
if (File.Exists(settingsPath))
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(settingsPath);
XmlNode settingsNode = xmlDocument.SelectSingleNode("/XPath.to.node.you.are.looking.for");
foreach(XmlNode xmlNode in settingsNode.ChildNodes)
{
//do some work
}
}