4 posts in this topic
Hi, I have a software which has a 'run file'-ie; when i double click on that file, the input file of the software is run by the software. I wish to double click/execute this run file using autoit. how do i achieve this. i opened the software and it shows the input file and run file in same folder, i will put my autoitscript file too in same location. how do i simulate double clicking the run file (using its file name, say - abc.run ). I entered the following lines to make software window active - it became active, dont know how to go forward
controlclick("program title","abc.run",1000,"primary",2) ; 1000 is ctrl id
following my previous question, I have moved all potentially instable object interactions into Executes. But it Looks like "="-assignments to object Attributes cannot be done with Execute, only method calls. Using an "$obj = 1" construct, it compares (Eval) instead of sets (Execute) the value.
I have tested multiple different combinations, using Execute and Assign, but it seems not to work with object Attributes. :-(
Gives following Output:
The assign Action using apply (a3) Fails, while assigning it directly, without Assign() works fine.
The execute versions compare and do not assign, in both cases. Though, the "Execute" topic in the help file says it executes, not evaluates.
I have found a similar, old thread, which explains this behavious but does not give a solution. https://www.autoitscript.com/forum/topic/110228-pass-object-property-as-a-variable/
Is there a way to assign to a com object's Attribute? Or is there anything new to this unexpected behaviour of Execute (at least compared to the help file description and Python's exec).
Any help is appreciated, and thank you for all the help so far.
I am trying to insert line numbers in to a string
with this script
Func _MyInc () Static Local $i = 0 $i += 1 Return $i EndFunc Exit _InsertLines() Func _InsertLines() $String = "A" & @CRLF & "B" & @CRLF & "C" & @CRLF & "D" $NewString = Execute("'" & StringRegExpReplace($String,"[\r\n]*", "' & _MyInc () & '\1" ) & "'") MsgBox (0, "", $NewString) EndFunc but I get this:
I never really could master how Execute works here and I always get some working example and make substitutions.
But this is the closest i could get...
I'm trying to execute files
I want it to run in order.
for instance, if there's folder like below, I want to run 1.exe > 2.exe > 3.exe
|___folder 1 > 1.exe
|___folder2 > 2.exe
|___folder3 > 3.exe
What I did to do the above, was to make a text file that contains the path to each of those files and put those in array form.
but copying and pasting every path of those files into a text file is very exhausting thing to do when there's like hundreds of files to execute.
So I was wondering if there is a simple way to run those files.
I'd be thankful if anybody answers it.
Is there a way to execute the text inside a variable is if it was part of the script?
In this example I'd like to get a message box pop up but I don't:
;testme.au3 local $var = 'msgbox(64,"hello","world")' $var is there a command that can be used like maybe 'Exec' or 'Execute' or something?
local $var = 'msgbox(64,"hello","world")' Execute $var