微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

COM Singleton 无法正确识别终端服务中的交互用户

如何解决COM Singleton 无法正确识别终端服务中的交互用户

我有一个 COM 服务器和 COM exe(让我们将其命名为 exe1 和 exe2)。 COM 服务器启动 exe1,它是一个单例并仅以管理员身份运行。 COM 服务器是一个可以在任何用户上运行的 GUI 应用程序。 COM 服务器请求 exe1 启动 exe2,而 exe2 应该作为 COM 服务器请求的用户(交互式用户)启动。

问题是 exe1 以不同的用户身份启动 exe2,而不是请求启动 exe2 的用户

此问题仅存在于 Windows 终端服务中。在正常的远程桌面中,exe2 以正确的用户身份启动。

当我使用 DebugView 检查 exe1 的日志时,我看到 exe1 函数部分以 user1(请求启动 exe2 之外的另一个用户)执行,部分以 user2(用户请求启动 exe2)和 exe2 执行在执行 exe2 的 CoCreateInstance 的用户中启动。

如何在 2 个用户中逐个执行单个功能?终端服务中是否有任何设置可以避免此问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。