终端服务感知应用程序如何检索用户的私有 Windows 目录?

发布于 2024-10-17 01:09:11 字数 591 浏览 2 评论 0原文

GetWindowsDirectory 的文档说:

  • TS-Aware 应用程序获取实际 Windows 目录。
  • 非 TS 感知应用程序获取当前用户的“私有”Windows 目录。

因此,我正在开发一个需要 TS-Aware 的 C# 类库,因为我不能要求所有使用该库的应用程序都是非 TS-Aware 的。 C# 默认是 TS-Aware。

我需要将 INI 文件放入 Windows 目录中,以便与不支持 TS 的旧版应用程序进行通信。这对于普通用户来说毫无困难,但在终端服务会话中则不然。

在终端服务下:

  • 旧版应用程序使用用户“私有”Windows 目录中的 INI 文件。
  • C# 库使用系统 Windows 目录中的 INI 文件。

我需要:

  1. 在终端服务下运行时进行检测。我可以通过检查 SystemInformation.TerminalServerSession 标志来做到这一点。
  2. 从 TS-Aware 进程中,找到用户的“私有”Windows 目录。我找不到任何文档告诉我如何执行此操作。

The documentation for GetWindowsDirectory says:

  • TS-Aware applications get the actual Windows directory.
  • Non-TS-Aware applications get the current user's "private" Windows directory.

So, I am working on a C# class library that needs to be TS-Aware, because I cannot require all apps using this library to be non-TS-Aware. The C# default is to be TS-Aware.

I need to drop INI files into the Windows directory to communicate with a legacy App that is NOT TS-Aware. This works without difficulty in a regular user, but not in a Terminal Services session.

Under Terminal Services:

  • The Legacy App uses the INI file in the user's "private" Windows directory.
  • The C# library uses the INI file in the system Windows directory.

I need to:

  1. Detect when running under Terminal Services. I can do this by checking the SystemInformation.TerminalServerSession flag.
  2. From a TS-Aware process, locate the user's "private" Windows directory. I can find no documentation that tells me how to do this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

临风闻羌笛 2024-10-24 01:09:11

我认为它总是在windows子目录中的user文件夹下,所以:

System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "windows");

I think it is always under the user folder in the windows sub directory, so:

System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "windows");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文