像Pix4D这样的CPU密集型软件的许可证表明它可以安装在两个设备上 - 但是有条件。阅读更精细的打印,似乎一个设备可以是一个完整的处理工作站/桌面,而另一个设备必须是移动设备/笔记本电脑。
该软件如何知道?是否有硬件规格中的赠品用于确定这样的东西,例如电池的存在?
鉴于该软件在两台机器上都能正常运行,如果我只购买一台与工作站一样快的高端笔记本电脑,这种情况不会变得无关紧要吗?
像Pix4D这样的CPU密集型软件的许可证表明它可以安装在两个设备上 - 但是有条件。阅读更精细的打印,似乎一个设备可以是一个完整的处理工作站/桌面,而另一个设备必须是移动设备/笔记本电脑。
该软件如何知道?是否有硬件规格中的赠品用于确定这样的东西,例如电池的存在?
鉴于该软件在两台机器上都能正常运行,如果我只购买一台与工作站一样快的高端笔记本电脑,这种情况不会变得无关紧要吗?
Answers:
在Linux上,您可以运行以下命令:
sudo dmidecode --string chassis-type
在笔记本电脑上,这将返回“笔记本电脑”,“笔记本电脑”,“便携式”或“子笔记本电脑”(取决于制造商)。
对于Windows,请参阅以下文档以确定您的计算机机箱类型:
要在此处添加其他答案:Linux,Windows软件也可以通过各种提供的WinAPI方法/对象访问此信息。其中一个例子是Win32_ComputerSystem,其中包括以下成员:
PCSystemTypeEx
Data type: uint16 Access type: Read-only Type of the computer in use, such as laptop, desktop, or Tablet.
可能的值包括:
Unspecified (0)
Desktop (1)
Mobile (2)
Workstation (3)
Enterprise Server (4)
SOHO Server (5)
Appliance PC (6)
Performance Server (7)
Slate (8)
Maximum (9)
至于Windows如何知道这一点,虽然我不能肯定地说,因为我目前缺少Windows源代码和任何官方文档链接,我会说它是一个简单的问题,计算机内的硬件ID将这些信息传递给操作系统。由于Windows有一个庞大的合作伙伴网络,可以将他们的驱动程序直接提交给Microsoft(通过Windows Update进行驱动程序更新,“标准”驱动程序包含在安装介质中),因此Windows很容易确定您安装了哪种类型的计算机它在。仅凭CPU ID就可以确定机器是笔记本电脑还是台式电脑。
有各种提示。一个是DMI数据中的“系统类型”。另一个是系统是否有电池。另一种是处理器,芯片组,显示控制器,显示器等类型。它们都不是万无一失的,但通过将它们组合在一起,编写将系统分组为“几乎肯定是笔记本电脑”的分类器将非常容易,“几乎可以肯定是桌面/工作站“和”未确定“。
但老实说,通过技术/激活方法执行许可往往集中在防止大规模滥用。小规模的滥用更有可能通过审计来处理,令人沮丧的员工惹恼他们的老板等。
鉴于该软件在两台机器上都能正常运行,如果我只购买一台与工作站一样快的高端笔记本电脑,这种情况不会变得无关紧要吗?
如果您可以购买与工作站一样快的笔记本电脑,那么您必须拥有一台相当低端(或旧)的工作站。
用于编写软件的代码可以确定当前运行的“机箱”类型。
有关C#中的示例,请参阅此答案。这可以确定计算机是否是以下任何类型(有些看似重复,和/或过时):
另外关于我的评论说他们似乎是重复的 - 这是我的观点 - 仅仅通过查看列表,它似乎是多年来临时创建的,似乎不是MECE。实际上,我有几个人说过,某些上述形状因素之间存在差异的必要性已不再相关或被理解(例如,参见子笔记本的这个简短摘要。