Jump to content

Same source code not work with new AutoIt


Maintel
 Share

Recommended Posts

Hi

I have .exe compiled with 3.3.0.0, then I re-compiled it with 3.3.6.1 and .exe stop at this point of code:

If WinWaitActive("Windowstitle","text text text text",3) = 1 Then
    Send("keypress{ENTER}")
EndIf

and without touching anything in code 3.3.0.0 build work and 3.3.6.1 can't send the 'keypress' text

Link to comment
Share on other sites

  • Moderators

Maintel,

From the Changelog:

18th December, 2009 - v3.3.2.0

Added #764: Return Pid on ProcessWait() and handle on WinWait(), WinWaitActive, WinActivate(), WinActive(), WinMove() when successful.

So you need to look for a non-zero return rather than 1:

If WinWaitActive("Windowstitle","text text text text",3) <> 0 Then
    Send("keypress{ENTER}")
EndIf

should work for you. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see 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

 

Link to comment
Share on other sites

See the help file for winwaitactive function

Return Value

Success: Returns handle to the requested window.

Failure: Returns 0 if timeout occurred.

So your condition is bad.

Try :

If WinExists ("Windowstitle","text text text text") 
   WinActivate("Windowstitle","text text text text") 
   WinWaitActive("Windowstitle","text text text text",3) 
   Send("keypress{ENTER}")
EndIf

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...