gpt4 book ai didi

installation - 如何在 InnoSetup 脚本中检测我是否在终端服务器上安装?

转载 作者:行者123 更新时间:2023-12-02 23:23:35 25 4
gpt4 key购买 nike

当程序安装在终端服务器上时,我的设置的行为应该略有不同。我知道 GetSystemMetrics(SM_REMOTESESSION) 但据我所知,它只会告诉我是否在 RDP session 中运行。它不会捕获服务器管理员在本地登录以安装软件的情况,或者会吗?

检查终端服务器服务似乎也不可行,因为启用远程桌面后该服务也在工作站上运行。我需要将其与允许多个并发登录 session 的真正 TS 区分开来。

我没有检查任何其他服务或注册表项吗?

最佳答案

这正是您所需要的:

Detecting Whether Terminal Services Is Installed

请注意,除此之外,您还可以使用 GetVersion() 的值来确定您是否正在运行 NT。如果不是 NT,则退出。

// Are we running Windows NT?
DWORD dwVersion = GetVersion();
if (!(dwVersion & 0x80000000)) {
// Is it Windows 2000 or greater?
if (LOBYTE(LOWORD(dwVersion)) > 4) {
// Check with VerSetConditionMask() and VerifyVersionInfo()
return ..;
}
else {
// Windows NT 4.0 or earlier. Check ProductSuite value in
// HKLM\\System\\CurrentControlSet\\Control\\ProductOptions
return ..;
}
}

return false;

如果版本是Win2k以上,链接显示需要查询的代码

关于installation - 如何在 InnoSetup 脚本中检测我是否在终端服务器上安装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/910005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com