Share via

SpVoice DisplayUI method (SAPI 5.3)

Microsoft Speech API 5.3

Object: SpVoice

DisplayUI Method

The DisplayUI method initiates the display of the specified UI.

The speech recognition (SR) and text-to-speech (TTS) engines are capable of displaying and running various user interfaces (UI). These displays assist with different aspects of the speech environment such as user training, microphone wizards, adding and removing words, or setting controls for the engine. Many of these UIs are available using Speech properties in Control Panel. In addition, the engines are capable of requesting that the user run specific UIs to improve recognition. For example, the SR engine could request more user training if recognition is consistently poor.

Engines are not required to support UI and not all engines will have the same UI. Consult the manufacturer's engine documentation for specific details. An application may call IsUISupported before attempting to invoke a particular UI to see if the engine supports it. Invoking unsupported UIs will cause a run-time error. If the UI is available, use DisplayUI to invoke the display.

     hWndParent As Long,
     Title As String,
     TypeOfUI As String,
     [ExtraData As Variant = Nothing]


  • hWndParent
    Specifies the window handle of the owning window.
  • Title
    Specifies the caption used for the UI window.
  • TypeOfUI
    A String specifying the name of the UI to display. For a list of available SAPI 5 UI, see Engine User Interfaces.
  • ExtraData
    [Optional] Specifies the ExtraData. This information is unique to the application and may be used to provide additional or more specific information to the UI. By default, the Nothing value is used and indicates that the UI does not use any additional information provided by this method.

Return Value



See SPVoice.IsUISupported for additional information.


The following Visual Basic form code demonstrates the use of the DisplayUI and IsUISupported methods. The code displays the Master Volume window, the same sound panel that is available using Speech properties in Control Panel.

To run this code, create a single form without any controls on it. Paste this code into the Declarations section of the form.

Option Explicit

Dim vox As SpeechLib.SpVoice

Private Sub Form_Load()
    On Error GoTo EH

    Set vox = New SpVoice
    RunUI SpeechAudioVolume

    If Err.Number Then ShowErrMsg
End Sub

Private Function RunUI(theUI As String)
    On Error GoTo EH

    Dim x As Boolean

    If vox.IsUISupported(theUI) = True Then
        ' Display Master Volume window.
        vox.DisplayUI Form1.hWnd, "", theUI, ""
        MsgBox theUI & " UI is supported"
        MsgBox theUI & " UI not supported"
    End If

    If Err.Number Then ShowErrMsg
End Function

Private Sub ShowErrMsg()

    ' Declare identifiers:
    Dim T As String

    T = "Desc: " & Err.Description & vbNewLine
    T = T & "Err #: " & Err.Number
    MsgBox T, vbExclamation, "Run-Time Error"

End Sub