Sapi.SPVoice DisplayUI

  • Ok ich hab jetzt mal versucht das in Autoit umzuwandeln:

    [autoit]

    Const $SPDUI_AddRemoveWord = "AddRemoveWord"
    Const $SPDUI_UserTraining = "UserTraining"
    Const $SPDUI_MicTraining = "MicTraining"
    Const $SPDUI_AudioProperties = "AudioProperties"
    Const $SPDUI_AudioVolume = "AudioVolume"
    $oSpeech = ObjCreate ( "SAPI.SPVoice")
    if $oSpeech.isUiSupported ( $SPDUI_AudioVolume ) Then
    ConsoleWrite ( "ja")
    $array = DllCall ( "user32.dll", "hwnd", "GetDesktopWindow")
    $oSpeech.DisplayUI ( $array[0] , "", "AudioVolume") ;ich glaub $array[0] muss in long umgewandelt werde, aber wie ? :)
    Else
    ConsoleWrite ( "nein")
    EndIf

    [/autoit]
  • Ok habs hinbekommen :)
    Musste bei return Wert 'long' angeben.

    [autoit]

    Const $SPDUI_AddRemoveWord = "AddRemoveWord"
    Const $SPDUI_UserTraining = "UserTraining"
    Const $SPDUI_MicTraining = "MicTraining"
    Const $SPDUI_AudioProperties = "AudioProperties"
    Const $SPDUI_AudioVolume = "AudioVolume"
    $oSpeech = ObjCreate ( "SAPI.SPVoice")
    if $oSpeech.isUiSupported ( $SPDUI_AudioVolume ) Then
    ConsoleWrite ( "ja")
    $array = DllCall ( "user32.dll", "long", "GetDesktopWindow")
    $oSpeech.DisplayUI ( $array[0] , "", $SPDUI_AudioVolume) ;ich glaub $array[0] muss in long umgewandelt werde, aber wie ? :)
    Else
    ConsoleWrite ( "nein")
    EndIf

    [/autoit]

    Leider geht bei mir auch wirklich nur $SPDUI_AudioVolume. Schade :(

    Einmal editiert, zuletzt von Tom99 (22. September 2008 um 17:23)

  • eher ulong_ptr verwenden. dann sollte auch 64bit gehen :)

    [autoit]

    $array = DllCall ( "user32.dll", "ulong_ptr", "GetDesktopWindow")

    [/autoit]