软件可以区分笔记本电脑和台式机吗?


42

Pix4D这样的CPU密集型软件的许可证表明它可以安装在两个设备上 - 但是有条件。阅读更精细的打印,似乎一个设备可以是一个完整的处理工作站/桌面,而另一个设备必须是移动设备/笔记本电脑。

该软件如何知道?是否有硬件规格中的赠品用于确定这样的东西,例如电池的存在?
鉴于该软件在两台机器上都能正常运行,如果我只购买一台与工作站一样快的高端笔记本电脑,这种情况不会变得无关紧要吗?


在“设备和打印机”中,您可以看到代表您的PC的设备。如果它是笔记本电脑,它将显示一个笔记本电脑图标。但不确定其他软件是否能够或将使用此信息。
ecube 2016年

17
电池的存在可能是一个很好的,但我敢肯定一些UPS也算作电池。
user20574年

2
我认为Pix4D不会检查使用什么类型的硬件。它只给出了两个不同的许可证。在其中一个许可证中,只允许“快速检查处理模式”,而另一个是完整许可证。
user797717 2016年

1
该软件可能能够从操作系统收集该信息 - 如果没有,我建议存在盖子按钮(即盖子关闭时感应的笔记本电脑)对于笔记本电脑可能是一个死的赠品。当然,这并不包括所有内容,因为你会得到phablets / all-in-ones和其他。
jammypeach 2016年

2
该软件甚至试图强制执行它吗?还是只是荣誉系统?
whatsisname 2016年

Answers:


54

在Linux上,您可以运行以下命令:

sudo dmidecode --string chassis-type

在笔记本电脑上,这将返回“笔记本电脑”,“笔记本电脑”,“便携式”或“子笔记本电脑”(取决于制造商)。

对于Windows,请参阅以下文档以确定您的计算机机箱类型:

识别计算机的机箱类型


21
嘿,那个披萨盒真让我困惑,直到我读到这个en.wikipedia.org/wiki/Pizza_box_form_factor
ecube 2016年

我有一台笔记本电脑,它曾经确认过一次。这是一块垃圾; p
Journeyman Geek

5
我的台式机和笔记本电脑系统都将自己标识为“其他”。我还希望很多人能够正确识别自己,请注意。
ChrisInEdmonton 2016年

@ dma1324哇,低于10万美元的117英镑!
迈克尔

3
我的Chromebook将自己标识为桌面版。
dramzy 2016年

13

要在此处添加其他答案: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就可以确定机器是笔记本电脑还是台式电脑。


是的,但Windows是如何知道的
Lightness Races in Orbit 2016年

3
@PreferenceBean Windows内核询问Windows服务器硬件ID和Windows服务器问linux?;)

2
在答案中
轻盈竞争在轨道

6
CPUID强烈暗示; 但不是万无一失的。小型台式机有时使用移动CPU,并且有一些使用台式机CPU构建的超高端游戏“笔记本电脑”。
Dan Neely 2016年

1
“Dmidecode根据SMBIOS / DMI标准报告系统BIOS中描述的有关系统硬件的信息” nongnu.org/dmidecode几乎可以肯定WMI从同一个地方获取信息。毕竟这就是标准。
Ben Ben

3

有各种提示。一个是DMI数据中的“系统类型”。另一个是系统是否有电池。另一种是处理器,芯片组,显示控制器,显示器等类型。它们都不是万无一失的,但通过将它们组合在一起,编写将系统分组为“几乎肯定是笔记本电脑”的分类器将非常容易,“几乎可以肯定是桌面/工作站“和”未确定“。

但老实说,通过技术/激活方法执行许可往往集中在防止大规模滥用。小规模的滥用更有可能通过审计来处理,令人沮丧的员工惹恼他们的老板等。

鉴于该软件在两台机器上都能正常运行,如果我只购买一台与工作站一样快的高端笔记本电脑,这种情况不会变得无关紧要吗?

如果您可以购买与工作站一样快的笔记本电脑,那么您必须拥有一台相当低端(或旧)的工作站。


2

用于编写软件的代码可以确定当前运行的“机箱”类型。

有关C#中的示例,请参阅此答案。这可以确定计算机是否是以下任何类型(有些看似重复,和/或过时):

  • 其他
  • 未知
  • 桌面
  • LowProfileDesktop
  • PizzaBox
  • 小型立式
  • 手提
  • 笔记本电脑
  • 笔记本
  • 手持式
  • 扩展坞
  • 一体
  • 亚笔记本
  • 节省空间
  • 午餐盒
  • MainSystemChassis
  • ExpansionChassis
  • 副机架
  • BusExpansionChassis
  • PeripheralChassis
  • StorageChassis
  • RackMountChassis
  • SealedCasePC

另外关于我的评论说他们似乎是重复的 - 这是我的观点 - 仅仅通过查看列表,它似乎是多年来临时创建的,似乎不是MECE。实际上,我有几个人说过,某些上述形状因素之间存在差异的必要性已不再相关或被理解(例如,参见子笔记本的这个简短摘要


technet.microsoft.com/en-us/library/ee156537.aspx查询WMI时的值。关于“工作站”和“移动设备”之间划分的位置尚未达成共识,但供应商应该能够说明他们使用的标准。
2016年

3
哪些是“复活节彩蛋”?所有这些对我来说都像实际的底盘类型。
Cody Gray

1
微软的政策绝对不允许复活节彩蛋,所以你可能会感到惊讶,但它们都不是复活节彩蛋。
Derek朕会功夫2016年

甚至是PizzaBox或LunchBox?
威廉

我只是维基百科,你是对的!这些是真正的底盘类型大声笑 - 我将更新我的答案
威廉
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.