Windows判断是笔记本还是台式

前言

在开发桌面应用程序时,我们经常需要根据设备类型来调整功能或界面。例如,触摸板管理功能只对笔记本电脑有意义,而对台式机用户来说完全不需要。本文将介绍一种基于系统机箱类型(Chassis Type)的可靠检测方法。

正文

Windows系统通过WMI(Windows Management Instrumentation)提供了丰富的硬件信息查询接口。其中,Win32_SystemEnclosure 类包含了系统机箱的详细信息,包括一个关键属性:ChassisTypes

ChassisTypes 不同的数值代表不同的设备形态:

笔记本电脑相关类型:

  • 8: Portable(便携式)
  • 9: Laptop(笔记本)
  • 10: Notebook(笔记本)
  • 14: Sub Notebook(子笔记本)
  • 30: Tablet(平板电脑)
  • 31: Convertible(可转换)
  • 32: Detachable(可拆卸)

台式机相关类型:

  • 3: Desktop(桌面)
  • 4: Low Profile Desktop(低姿态桌面)
  • 5: Pizza Box(披萨盒式)
  • 6: Mini Tower(迷你塔式)
  • 7: Tower(塔式)
  • 13: All in One(一体机)
  • 15: Space-Saving(节省空间型)
  • 16: Lunch Box(午餐盒式)

详细文档可以看 :learn.microsoft.com/en-us/windo...

Power Shell可以直接运行命令查看

js 复制代码
(Get-CimInstance -ClassName Win32_SystemEnclosure).ChassisTypes

结尾

感兴趣的可以去试试

相关推荐
道友可好2 小时前
3 个人,100 万行代码,一行都没人写:OpenAI 的 Harness Engineering 实验
前端·人工智能·后端
winfredzhang2 小时前
用 Node.js + SQLite + 原生前端写一个本地情绪急救 Web App:情绪降落伞 Mood Parachute
前端·sqlite·node.js·express·情绪管理
TrisighT2 小时前
Electron 窗口切后台,我的轮询怎么停了?排查一下午才发现是浏览器搞的鬼
electron·harmonyos
樱花的浪漫2 小时前
Typescript、Zod基础
前端·javascript·人工智能·语言模型·自然语言处理·typescript
Bigger2 小时前
记一次坑爹的 Cloudflare Pages 部署:Failed to load module script 是怎么把我的 SPA 搞挂的
前端·ci/cd·浏览器
竹林8182 小时前
监听智能合约事件,我用 wagmi v2 踩了三天坑,终于找到了稳定方案
前端·javascript
星栈2 小时前
Makepad 界面怎么做得更像产品,而不是示例
前端·rust
Momo__2 小时前
SSR 懒水合四件套 — 99%的人不知道 Vue 3.5 藏了这些水合策略
前端·vue.js·性能优化
riuphan2 小时前
JavaScript 事件循环:单线程异步编程的核心机制
前端·javascript
YHHLAI3 小时前
告别传统开发!Bun + TS 解锁前端新体验
前端