AccSetRunningUtilityState 函数 (oleacc.h)

设置系统值,该值指示辅助技术 (AT) 应用程序的当前状态是否影响通常由系统提供的功能。

语法

HRESULT AccSetRunningUtilityState(
  [in] HWND  hwndApp,
  [in] DWORD dwUtilityStateMask,
  [in] DWORD dwUtilityState
);

参数

[in] hwndApp

类型:HWND

AT 应用程序窗口的句柄。 此参数不得为 NULL

[in] dwUtilityStateMask

类型:DWORD

A
指示正在设置的系统值的掩码。 它可以是以下值的组合:

ANRUS_ON_SCREEN_KEYBOARD_ACTIVE

ANRUS_TOUCH_MODIFICATION_ACTIVE

ANRUS_PRIORITY_AUDIO_ACTIVE

ANRUS_PRIORITY_AUDIO_ACTIVE_NODUCK

[in] dwUtilityState

类型:DWORD

dwUtilityStateMask 指示的系统值的新设置。 此参数可以为零以重置系统值,也可以是以下值的组合。

含义
ANRUS_ON_SCREEN_KEYBOARD_ACTIVE
0x0000001
AT 应用程序提供屏幕键盘。
ANRUS_TOUCH_MODIFICATION_ACTIVE
0x0000002
AT 应用程序正在使用重定向的触摸输入。
ANRUS_PRIORITY_AUDIO_ACTIVE
0x0000004
AT 应用程序依赖于音频 ((如文本转语音) )向用户传达重要信息,并且应该通过其他系统声音保持可听到。
ANRUS_PRIORITY_AUDIO_ACTIVE_NODUCK
0x0000008
AT 应用程序依赖于音频 ((如文本转语音) )向用户传达基本信息,但不应相对于其他系统声音进行更改。

返回值

类型: STDAPI

如果成功,则返回 S_OK。

如果未成功,则返回标准 COM 错误代码

注解

在退出之前,AT 应用程序应重置之前设置的任何系统值。

此函数要求调用进程具有 UIAccess 或更高的特权。 如果调用方没有所需的权限,则对 AccSetRunningUtilityState 的调用将失败并返回 E_ACCESSDENIED。 有关详细信息,请参阅 辅助技术的安全注意事项/MANIFESTUAC (在清单) 中嵌入 UAC 信息

示例

此代码示例演示如何调用 AccSetRunningUtilityState 函数。

if (SUCCEEDED(hr))
{
    // Tell the system that an AT application has registered with the 
    // touch redirector.
    hr = AccSetRunningUtilityState(hwndTouchWindow, 
            ANRUS_TOUCH_MODIFICATION_ACTIVE, 
            ANRUS_TOUCH_MODIFICATION_ACTIVE);
    if (FAILED(hr))
    {
        MyErrorHandler(hr); // Application-defined error handler
    }
}

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 oleacc.h
Library Oleacc.lib
DLL Oleacc.dll

另请参阅

辅助技术的安全注意事项