【发布时间】:2011-03-09 11:21:47
【问题描述】:
我想确定我的程序是否在某个版本的 Windows Server 上运行。显然,System.Environment 不包含有关 Windows 是服务器版本这一事实的信息(OS version object 中没有此类信息)。
我知道我可以使用SystemInformation.TerminalServerSession 来检查我的程序是否在远程桌面上运行(另请参阅this question),但如果用户只是远程访问普通客户端 Windows 机器,这也是正确的。
那么是否有一种受支持的方式来确定代码是在服务器上还是在客户端计算机上运行?如果需要,我不介意使用 P/Invoke。
注意:我不想在产品名称中搜索"Server" 字符串,因为由于本地化,这可能不适用于某些系统。
【问题讨论】:
标签: c# windows-server