You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在UWP中检查Windows讲述人是否启用及监听相关事件

在UWP中检查Windows讲述人状态及订阅变化事件

一、直接检查讲述人是否启用

可以使用Windows.UI.ViewManagement.AccessibilitySettings类,它提供了直接获取讲述人启用状态的属性:

using Windows.UI.ViewManagement;

// 实例化AccessibilitySettings对象
var accessibilitySettings = new AccessibilitySettings();
// 获取讲述人启用状态
bool isNarratorEnabled = accessibilitySettings.NarratorEnabled;

二、订阅讲述人状态变化事件

AccessibilitySettings类还提供了AccessibilitySettingsChanged事件,当系统辅助功能(包括讲述人)状态变化时会触发该事件,你可以在事件处理中重新获取最新状态:

// 建议将此对象声明为类级成员,避免被垃圾回收导致事件失效
private AccessibilitySettings _accessibilitySettings;

// 初始化订阅
private void InitializeNarratorMonitoring()
{
    _accessibilitySettings = new AccessibilitySettings();
    _accessibilitySettings.AccessibilitySettingsChanged += OnAccessibilitySettingsChanged;
}

// 事件处理方法
private void OnAccessibilitySettingsChanged(AccessibilitySettings sender, object args)
{
    bool isNarratorNowEnabled = sender.NarratorEnabled;
    // 在这里处理讲述人状态变化后的逻辑
}

需要注意,AccessibilitySettings对象需保持存活(比如作为类成员变量),否则事件订阅会被垃圾回收,无法正常接收状态变化通知。

你提到的XAML中的AutomationProperty主要用于辅助工具识别控件的无障碍信息,和直接获取讲述人运行状态属于不同场景,上述方法可直接满足代码层面的状态捕获需求。

内容的提问来源于stack exchange,提问作者Sumnoon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 12:42:02