> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IGameInputReading::GetMouseState

> IGameInputReading::GetMouseState

# IGameInputReading::GetMouseState

检索一个描述鼠标状态的输入读数视图。

## 语法

```cpp theme={null}
bool GetMouseState(
    GameInputMouseState* state
);
```

### 参数

*state*   \_Out\_\\
类型：[GameInputMouseState\*](/reference/input/gameinput/structs/gameinputmousestate)

将该输入解释为鼠标的结果。

### 返回值

类型：bool

如果成功将输入解释为鼠标输入，则返回 true。当尝试读取无法识别为鼠标输入的输入时，返回 false。

## 备注

调用 [IGameInputReading::GetInputKind](/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getinputkind) 方法可确定对于某个 [IGameInputReading](/reference/input/gameinput/interfaces/igameinputreading/igameinputreading)，哪些 Get\*State 函数会返回有效的解释。每个 Get\*State 函数在 [IGameInputReading::GetInputKind](/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getinputkind) 枚举中都有一个对应项。如果你尝试调用某个 Get\*State 函数，但其对应的 [IGameInputReading::GetInputKind](/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getinputkind) 标志未设置，该函数将返回默认的静止值以及 false 返回值。

鼠标移动是由设备根据其功能以相对增量值和/或绝对值的形式原生报告的。相对位置与轮询式 API 的兼容性不佳，因为定期请求当前鼠标读数很可能会漏掉若干中间的增量。为了避免让使用轮询 API 的应用不得不遍历可能多达数十个历史鼠标读数并累加增量，GameInput API 通过持续将增量累加到一个虚拟的"位置"值中来公开相对鼠标移动。然后应用通过将该"位置"值减去上一次获取的读数来计算自己的增量。这样既可以在为连续读数计算增量时访问单个增量，也可以在有意跳过中间读数时获取累积增量。需要强调的是，鼠标的"位置"值仅仅是所有移动增量的总和，与屏幕空间坐标没有任何关系。

## 要求

**头文件：** GameInput.h

[输入 API 概述](/build/core-features/common/input/overviews/input-overview)\
[IGameInputReading](/reference/input/gameinput/interfaces/igameinputreading/igameinputreading)

## 版本历史

| 版本     | 更改  |
| ------ | --- |
| **v0** | 引入。 |


## Related topics

- [IGameInputReading::GetGamepadState](/zh-CN/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getgamepadstate.md)
- [IGameInputReading::GetKeyState](/zh-CN/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getkeystate.md)
- [IGameInputReading::GetMotionState](/zh-CN/reference/input/gameinput/deprecated/interfaces/igameinputreading/methods/igameinputreading_getmotionstate.md)
- [IGameInputReading::GetTouchState](/zh-CN/reference/input/gameinput/deprecated/interfaces/igameinputreading/methods/igameinputreading_gettouchstate.md)
- [IGameInputReading::GetControllerButtonState](/zh-CN/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getcontrollerbuttonstate.md)
