10

大多数 IBM(和一些戴尔)笔记本电脑都内置了加速度计,可以在突然跌倒时停止任何移动部件,但我无法找到标准化的 Windows API 来访问这些数据。我假设每个制造商都会提供与传感器接口的驱动程序。

  1. 哪些流行的笔记本电脑品牌标配了可通过 API 访问的加速度计,我应该使用哪些库来访问数据?
  2. 是否存在 API* 来抽象不同制造商之间的差异?我知道 Windows 7 Sensor API,但我希望支持 XP 和更早版本。
4

2 回答 2

3

如果笔记本电脑意外跌落或突然受到另一个物体的撞击(即超过某个加速度阈值时),大多数知名笔记本电脑供应商都有加速计来停放硬盘驱动器磁头。例如,我的惠普有它的“HP 3D DriveGuard”。然而,这项技术是嵌入低级的,即使没有加载操作系统,它似乎也能工作,所以我想它是在 BIOS 中。我想它只是公开了一种启用或禁用此技术的 ACPI 方式。因此,即使在具有标准化传感器 API 的 Windows 7 上,也无法像智能手机那样将其作为标准加速度计进行访问。如果市场需要,也许在未来(但我不这么认为)。

于 2010-06-03T09:55:27.873 回答
0

这不适用于所有制造商,但经过大量搜索(我自己一直想要这个功能),我发现有人为惠普笔记本电脑中的加速度计编写了驱动程序包装器。如果您的笔记本电脑支持 HP 3d DriveGuard 或 HP ProtectSmart,则此驱动程序应让加速度计显示在 Windows 传感器列表中。

在我的 HP 笔记本电脑上进行了测试,安装顺利。示例程序有效,但响应速度很慢。我认为这不适用于高精度需求(例如游戏),但如果您只需要一些较慢的方向数据,它可能会起作用。

窗户控制面板传感器

请注意,这是通过将加速度计暴露给 Windows 传感器 API 来实现的。传感器 API 提供了一种访问任何类型传感器的标准方法,无论安装的实际硬件如何。MSDN 上有关于 Windows 传感器平台的更多信息。

于 2012-02-07T04:55:08.123 回答