Jump to content
Sign in to follow this  

An initiative to make focus control sound effects for the blind

Recommended Posts


I designed this code To help the blind
Where screen readers users can  Identify the sefocus  item with audio files
In this code i define some elements
Unfortunately, I did not know how to define the other elements
I am waiting for your initiative to  define the other elements
Thank you in advance

Global $CFocus = ""

Func focus($window)
    Local $focusing = ControlGetFocus($window)
    Local $handle = ControlGetHandle($window, "", $focusing)
    If Not ($focusing = $CFocus) Then
        Switch StringTrimRight($focusing, 1)
            Case "button"
                If IsCheckBox($handle) Then
                ElseIf IsRadio($handle) Then
                $CFocus = $focusing
            Case "comboBox", "ListBox"
                $CFocus = $focusing
            Case "edit", "input"
                $CFocus = $focusing
            Case Else
                $CFocus = $focusing

EndFunc   ;==>focus

Func IsCheckBox($ctrl_hwnd)
    $Style = _WinAPI_GetWindowLong($ctrl_hwnd, $GWL_STYLE)
    Return BitAND($Style, $BS_CHECKBOX) = $BS_CHECKBOX
EndFunc   ;==>IsCheckBox

Func IsRadio($ctrl_hwnd)
    $Style = _WinAPI_GetWindowLong($ctrl_hwnd, $GWL_STYLE)
EndFunc   ;==>IsRadio

Func play($name, $wait = 0)
    Local Const $SND_RESOURCE = 0x00040004
    Local Const $SND_ASYNC = 1
    ; Play the file - the script will pause as it sounds
    If $wait = 0 Then
        DllCall("winmm.dll", "int", "PlaySound", "str", $name, "hwnd", 0, "int", BitOR($SND_RESOURCE, $SND_ASYNC))
        DllCall("winmm.dll", "int", "PlaySound", "str", $name, "hwnd", 0, "int", $SND_RESOURCE)
    Return 1
EndFunc   ;==>play


Edited by nacerbaaziz
Added topic text and code tags

Share this post

Link to post
Share on other sites

Is there any help please

Share this post

Link to post
Share on other sites

You posted this in the Examples forum. You have been around long enough to know that if you're looking for help the thread should go in General Help and Support, and if you're looking to work collaboratively on a project it should go under AutoIt Projects and Collaboration. So which is it?

√-1 2^3 ∑ π, and it was delicious!

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Similar Content

    • Theodoor
      By Theodoor
      I am trying to use the ControlClick in a "save as"-window to select the path of where to save the document.
      I found out that when in press the icon in front of the path, i select the path. So I am trying to press that button (i have attached a print screen of this window).
      While trying to figure out how i had to use the ControlClick, it said somewhere that i could us Au3Info to find out what title,... i should use with the ControlClick.
      The result of the Au3Info I have attached aswel.
      The ControlClick that i tried are these: (and none of these even move the mouse)
      ControlClick("[CLASS:ToolbarWindow32; INSTANCE:4]", "", "", "Left" ,1 ,10,10)
      ControlClick("[CLASS:ToolbarWindow32; INSTANCE:4]", "", "1001", "Left" ,1 ,10,10)
      ControlClick("[CLASS:ToolbarWindow32]", "", "", "Left" ,1 ,10,10)
      ControlClick("Save project as", "", "", "Left" ,1 ,10,10)
      I don't know what I am doing wrong.
      Should I use a controlID? is my windowtitle wrong?
      Can anyone help me?
      Thanks in advance,

    • Mercy
      By Mercy
      I need to add a column with data daily at the end of the column and calculate the difference between last two columns in put it in a seperate column. So i need to get the  position of the last column.
      Local $count = $oWorkbook2.Worksheets(1).UsedRange.Columns.Count MsgBox(0,"",$count) ; ***************************************************************************** ; Copy a single cell from another workbook. Pass the source range as object. ; ***************************************************************************** Local $oRange = $oWorkbook2.Worksheets(1).Range("A1:A15") _Excel_RangeCopyPaste($oWorkbook1.Worksheets(1), $oRange,"H1:H15") _Excel_RangeWrite($oWorkbook1, $oWorkbook1.Worksheets(1), "=C2-H2", "I2:I15", False) this code copies to a specific column H with a range 15. But i need to keep that column range to update automatically when columns are added.
    • Mercy
      By Mercy
      I inspect that Security tab in the webpage .I get the html element below:
      <td tabindex="-1" align="center" class="infaTabsetSimpleTabSetTop" nowrap="true" valign="middle" onfocus="app_details_browse.$47()">Security</td>
      If iam using the class name and trying to click the element. Iam getting "found" but cannot click as all the tab contains same class.
      If iam using the onfocus attribute which is different for every tab and trying to click the element, the element cannot be found.
      Local $oFound = "" Local $oBtns = _IETagNameGetCollection($oIE, "td") For $oBtn In $oBtns ;If String($oBtn.onfocus) ="app_details_browse.$47()" Then If String($oBtn.classname) = "infaTabsetSimpleTabSetTop" Then $oFound = $oBtn EndIf Next If IsObj($oFound) Then _IEAction ($oFound, "focus") _IEAction ($oFound, "click") MsgBox(16, "Success", "found") Else MsgBox(16, "Failed", "Not found.") EndIf

    • Valnurat
      By Valnurat
      I have a splashscreen I want to add to my application, but after I compile it and I run the exe file th esplashscreen is not there.
      How do I combine the splashscreen?
    • JuanFelipe
      By JuanFelipe
      Hello friends, I hope you are well, I am writing to you because I have a concern. I would like to know if, can I make a PnGrafic or a graphics space in a GUI ?, in which I can assign a random space of two or more variables and then paint a line or arrow between them, is because I want to make a diagram of Hasse given some values. Thank you very much.


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.