Jump to content
Sign in to follow this  
nacerbaaziz

How to create a retractable bar using autoit

Recommended Posts

Hi dear
I want create retractable bar using autoit
I tried creating slider, but there's a problem with screen reader for the blind, so is there another retractable tape?
It is advisable to not accept dragging with the keybord only with  mouse
note:
This bar is needed in the process of raising and lowering the volume
I hope that there is a solution to do that
i waiting your responses.
Thanks in advance to all members and administrators

Share this post


Link to post
Share on other sites
1 hour ago, nacerbaaziz said:

This bar is needed in the process of raising and lowering the volume

Something like GUICtrlCreateSlider in the help file?


"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Share this post


Link to post
Share on other sites

Hello @nacerbaaziz:)

What do you mean with

1 hour ago, nacerbaaziz said:

but there's a problem with screen reader for the blind, so is there another retractable tape?

@JLogan3o13 is right :) Did you try GUICtrlCreateSlider? :)


Click here to see my signature:

Spoiler

Thoughts:

  • I will always thank you for the time you spent for me.
    I'm here to ask, and from your response, I'd like to learn.
    By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

ALWAYS GOOD TO READ:

 

Share this post


Link to post
Share on other sites

I want it accepts drag using the mouse only and never affects the keyboard because it conflicts with the screen readers for blind shortcuts
I hope this is clear for you.
 my Greetings to you

Share this post


Link to post
Share on other sites

So, are you trying to let users use mouse only, because of blind users? Am I missing something? :)

EDIT: confused mouse with keyboard, sorry!

Edited by FrancescoDiMuro

Click here to see my signature:

Spoiler

Thoughts:

  • I will always thank you for the time you spent for me.
    I'm here to ask, and from your response, I'd like to learn.
    By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

ALWAYS GOOD TO READ:

 

Share this post


Link to post
Share on other sites

Sounds like the other way around, something that can be dragged by the mouse but not by keyboard. Screen readers for the blind are very touchy, and will cause issues if you're holding down keys. Unless I am mistaken on what the OP is asking.

Edited by JLogan3o13

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Share this post


Link to post
Share on other sites

I think it's just like this @JLogan3o13:)

Just the last week was asked something like this... 


Click here to see my signature:

Spoiler

Thoughts:

  • I will always thank you for the time you spent for me.
    I'm here to ask, and from your response, I'd like to learn.
    By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

ALWAYS GOOD TO READ:

 

Share this post


Link to post
Share on other sites

In fact, I researched a lot and unfortunately I didn't find any solution
the last week I posed the shapes, but not in an independent participation, was Among my responses on another topic
And I was afraid that not paying attention to you
for that I decided to ask about this in a separate post
Hoping to find the result
I'm in urgent need.
please help me if you can.
I apologize to all of you if i has violated the forum rules

Share this post


Link to post
Share on other sites

I think you did not violate any rules of the forum ( @JLogan3o13 can confirm ).

I was looking on here, but I've never jumped into AutoHotKey so deep.

Maybe some veterans could help you :)

EDIT: this one could help you. The language is AutoHotKey, and it's already compiled. Just use it :)

Edited by FrancescoDiMuro

Click here to see my signature:

Spoiler

Thoughts:

  • I will always thank you for the time you spent for me.
    I'm here to ask, and from your response, I'd like to learn.
    By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

ALWAYS GOOD TO READ:

 

Share this post


Link to post
Share on other sites

If it is volume control you want, here are two methods.
1. The first requires you to download a free utility called "nircmd.exe" from  http://www.nirsoft.net/utils/nircmd.html.   I put the downloaded file, "nircmd.exe" in the same directory as the script.
When this example is running, move the cursor to the top edge of the desktop and to the far right hand corner.  This cursor position toggles the appearance and disappearance of the slider-bar window.  To exit press escape key when slider-bar window is visible and active.

2. The second method is running "SndVol.exe" which should already be in your Windows directory.  When this example is running, move the cursor to around the middle of the left hand edge of the desktop.  
While the cursor is over the pop-out window, the window will remain.  Click the close button on title bar of  the pop-out "Volume Mixer" window to exit script.

Hopefully one or both these methods won't interfere with the "screen readers for blind shortcuts".

"nircmd.exe" method:

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <GuiSlider.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>

; Needs nircmd.exe from:
; http://www.nirsoft.net/utils/nircmd.html

Example()

Func Example()
    Local $iSliderValueOld, $iSliderValue, $Show = 0
    $hWin = GUICreate("slider", 320, 70, -1, -1, $WS_POPUP)
    GUISetBkColor(0xFF00FF) ; will change background color

    Local $idSlider1 = GUICtrlCreateSlider(10, 10, 300, 50, -1, $TBS_TOOLTIPS)
    GUICtrlSetLimit(-1, 100, 0) ; change min/max value
    ;GUISetState(@SW_HIDE, $hWin)
    GUICtrlSetData($idSlider1, 50)
    GUICtrlSetTip(-1, GUICtrlRead($idSlider1))
    $iSliderValueOld = GUICtrlRead($idSlider1)
    Local $idMsg
    ; Loop until the user exits.
    Do
        $aMousePos = MouseGetPos()
        If ($aMousePos[0] > (@DesktopWidth - 100)) And ($aMousePos[1] < 5) Then
            If $Show Then
                GUISetState(@SW_HIDE, $hWin)
                $Show = 0
            Else
                GUISetState(@SW_SHOW, $hWin)
                $Show = 1
            EndIf
            While (($aMousePos[0] > (@DesktopWidth - 100)) And ($aMousePos[1] < 5))
                $aMousePos = MouseGetPos()
                Sleep(10)
            WEnd
        EndIf
        $idMsg = GUIGetMsg()
        If $idMsg = $idSlider1 Then
            $iSliderValue = GUICtrlRead($idSlider1)
            SoundSetWaveVolume(GUICtrlRead($idSlider1))
            ; "nircmd.exe" from  http://www.nirsoft.net/utils/nircmd.html
            Run("nircmd.exe changesysvolume " & ($iSliderValue - $iSliderValueOld) * 655.35)
            $iSliderValueOld = GUICtrlRead($idSlider1)
            GUICtrlSetTip($idSlider1, GUICtrlRead($idSlider1))
        EndIf

    Until $idMsg = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

 

"SndVol.exe" method:

#include <WinAPI.au3>
#include <WindowsConstants.au3>

; Ref: https://www.autoitscript.com/forum/topic/119699-program-specific-volume-control-udf/
Opt("WinTitleMatchMode", -2) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase

Run(@SystemDir & "\SndVol.exe")

$hWin = WinWaitActive("Volume Mixer")
$aWinPos = WinGetPos($hWin)
WinMove($hWin, "", 10 - $aWinPos[2], $aWinPos[1])

While 1
    If WinExists($hWin) = 0 Then Exit
    $tPoint = _WinAPI_GetMousePos()
    $hWnd = _WinAPI_WindowFromPoint($tPoint)
    ;ConsoleWrite($hWnd & @CRLF)
    $aWinPos = WinGetPos($hWin)
    If $hWin = $hWnd Then
        WinMove($hWin, "", 0, $aWinPos[1], $aWinPos[2], $aWinPos[3], 2)
        While $hWin = _WinAPI_GetAncestor($hWnd, $GA_ROOT) ; or $hWin = $hWnd
            Sleep(100)
            $tPoint = _WinAPI_GetMousePos()
            $hWnd = _WinAPI_WindowFromPoint($tPoint)
        WEnd
        $aWinPos = WinGetPos($hWin)
        WinMove($hWin, "", 10 - $aWinPos[2], $aWinPos[1])
    EndIf
    Sleep(100)
WEnd

 

Edited by Malkey
Added tooltip to slider in "nircmd.exe" method. And added a speed to WinMove().

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

    • By topgundcp
      Hi, 
      This is my very first post in this forum and am also new with Autoit programming so be easy on me.
      Below is the code that I am trying to get the index of the item selected. No problem getting the text.
      Case $listEdition   ; handle of the list             local $index=0             $item=GUICTRLRead($listEdition)    ; This will return the text in the list             ; ==============   The loop below always fails  ==================             ; Meaning _GUICtrlListView_GetItemSelected($listEdition, $i) always return FALSE. WHY ???????              For $i = 0 To $editionArray[0] - 1   ; The content of the list in an array where editionArray[0] contains total count of items                 If _GUICtrlListView_GetItemSelected($listEdition, $i) Then                     $index = $i                     exitloop                 EndIf              Next              ;===================================================             ConsoleWrite( "Select Edition:     " & $item & "  index: " & $index & @CR) ....... Please look at the comments in the code & the pix attached.
      _GUICtrlListView_GetItemSelected($listEdition, $i) always returns FALSE.
      Another problem is on the list. It also populate  the total count of items from the Array. How can I skip this item from populating to the list ?.
      Please advise and thanks

    • By n0ktar
      is it possible to make a wall chams in rainbow six siege using autoit scripts? tell me please and how . 
    • By Rskm
      Hi, I am using excel as input media for my program. The excel file (i tried with .xls, .xlsx and .xlsm format) has inputs which the autoit script reads during the run and performs few calculations. Some times (not always), after the run, when i try to open the excel file manually, the file doesnt open at all in excel. see the screenshot attached. However, if the execute the autoit script, the scripts still reads the existing data from that excel and performs the calcs. I copied the excel file to another computer and there too, it doesnt open.  So, after this, i cannot edit the excel forever (if i need to change any inputs). It is only this particular file that got affected. other excel files works normal.  What could be the problem here.  please help as this is a new challenge for me during my program development. 

    • By TheAutomator
      Hi everyone!

      I'm using AutoIt for several years now and I really get the hang of it!
      I'm quite the curious OCD perfectionist kind of guy, so I can't help wondering..
      what would be the best way to program stuff for the compiler / interpreter / scripting engine?
      We're talking about the inner workings of the AutoIt's core here, and how to give it as less friction as possible but also take care of the machine running the script.
      For example,
      Imagine a script where we would constantly have to assign a Boolean value to a variable:
      ; A: local $bool = false $bool = true $bool = true $bool = false ; B: local $bool = false check(true) check(true) check(false) func check($b) if $bool = $b then return $bool = $b endfunc In this case, would it be better to just overwrite (A) the variable or first check if we really need to (B)?
      What would be best for the computers memory if it had to do this for a year non stop?
      Another example, imagine you're writing a function with an if statement.
      If you would look under the hood of AutoIt, what would be the best way to give your computer as less work / code nesting stack filling as possible:
      ; A: func decide($b_Input) if $b_Input then ;do something else ;do something else endif endfunc ; B: func decide($b_Input) if $b_Input then ;do something return endif ;do something else endfunc Last one for now:
      ; A: while 1 ; do stuff wend ; B: while true ; do stuff wend Isn't AutoIt taking an extra step in converting 1 to a Boolean in example (A)?
      Or is it the other way around and does the (B) way make AutoIt first convert a keyword (true or false) to a numerical value (0 or 1).
      I think this kinda detail stuff is quite interesting, makes me wonder how AutoIt converts and runs our code.
      What are your opinions on this topic?
      Any coders who know more about the inner workings of AutoIt?
      Any people like me who ask themselves similar questions (with examples)?

      Let me know! 😉
    • By v120
      Rapid Fire Mouse Hack Script
      *snip*
       
×
×
  • Create New...