AccSetRunningUtilityState 函式 (oleacc.h)

設定系統值,指出輔助技術是否 (AT) 應用程式的目前狀態會影響系統通常會提供的功能。

語法

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

參數

[in] hwndApp

類型: HWND

AT 應用程式視窗的句柄。 此參數不得為 NULL

[in] dwUtilityStateMask

類型: DWORD

A
mask,表示所設定的系統值。 它可以是下列值的組合:

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
程式庫 Oleacc.lib
Dll Oleacc.dll

另請參閱

輔助技術的安全性考慮