Jump to content
Sign in to follow this  
Chimaera

Automating a button with ALT

Recommended Posts

Chimaera

Hi i was doing a test on a extraction program

and it has an ALT selection for that button but i cant get it to trigger

I started like this

$testfile = @ScriptDir & "\Air Bingo Cancelation 77710990856353858.par2"
ShellExecute( $testfile)
sleep(2000)
Send("{LALT} {r}")

I have tried {ALT} {r}, {!r} and number of others but it just opens the program and does nothing

If you press ALT and r on the keyboard works everytime

What am i doing wrong?

Ps there is no command line or silent switches for this program

Enclosed pic

post-60350-0-78114400-1367749765_thumb.p

Here is the Autoit window Info in case its needed

>>>> Window <<<<

Title: QuickPar - Repair required - "Air Bingo Cancelation 77710990856353858

"

Class: #32770

Position: 840, 292

Size: 628, 413

Style: 0x94CE004C

ExStyle: 0x00010100

Handle: 0x001306E2

>>>> Control <<<<

Class: Button

Instance: 5

ClassnameNN: Button5

Name:

Advanced (Class): [CLASS:Button; INSTANCE:5]

ID: 1038

Text: &Rename

Position: 527, 309

Size: 75, 23

ControlClick Coords: 44, 16

Style: 0x50010000

ExStyle: 0x00000004

Handle: 0x000C070C

>>>> Mouse <<<<

Position: 1419, 647

Cursor ID: 0

Color: 0xD4D4D4

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<

Recovery files created by :- QuickPar 0.9

&Open

&Add

&Monitor

A&utoRepair

&Rename

Stop

&New

A&bout

O&ptions

&Exit

Number of source files:

40

Total size of source files:

567,449,376

Source block count:

910

Source block size:

640,000

Complete files:

1

Damaged files:

0

Misnamed files:

39

Missing files:

0

>>>> Hidden Text <<<<

Repair failed

Share this post


Link to post
Share on other sites
Melba23

Chimaera,

I would use ControlClick rather then Send. Try:

ControlClick("QuickPar - Repair required", "", "[CLASS:Button; INSTANCE:5]")

Any good. :huh:

M23

Edited by Melba23
Typo

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
MouseSpotter

It is probably a typo ... but you have a space in the send command {LALT} {r}

try Send("{LALT}r") or Send("!r")

Share this post


Link to post
Share on other sites
Chimaera

Ok Melba that works

Im up to here now and im curious is there a way to only select the first element in the array?

#include <Array.au3>
#include "RecFileListToArray.au3"

    Local $aParFile = _RecFileListToArray(@ScriptDir, "*.par2", 1,0)
        _ArrayDisplay($aParFile, ".Mp3 Files")
    If IsArray($aParFile) Then
        For $i In $aParFile
            $testfile = @ScriptDir & "\" & $aParFile [1]
            ShellExecute( $testfile, "", "", "open", @SW_HIDE)
            sleep(2000)
            ControlClick("QuickPar - Repair required", "", "[CLASS:Button; INSTANCE:5]")
        Next
    EndIf

But this seems to take a long time to run, it only has to run the first file in the array and ignore the rest

Share this post


Link to post
Share on other sites
guinness

Don't use For...In for arrays, use For...To instead.

Edited by guinness

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post


Link to post
Share on other sites
Melba23

Chimaera,

Glad the ControlClick idea worked. :)

What are you trying to do here? Why are you looping through the array but only ShellExecuting the first file? :huh:

Also the Help file says:

"Some controls will resist clicking unless they are the active window"

So you might not be able to click on the button if you use the @SW_HIDE flag. You might be better off showing the windows, but moving them instantly off-screen and activating them so that the ControlClick has a chance to work. Worth a try. ;)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
Chimaera

Ive solved the multiple files now and found a way to end up with just the one i need but..

This may not be as simple as i imagined

when the file is opened it then checks all the files for damage which takes a unknown length of time so ii cant run the button press until its finished.

So back to the drawing board for now thx for the help.

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  

×