Jump to content

Display MSGBOX but continue script


Recommended Posts

Is it posible to display a MSGBOX without closing the MSGBOX but still continue the script?

Not with MsgBox(); look at GuiCreate() in the help file.

:)

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Link to comment
Share on other sites

Call MessageBox API on your own using DllCall.

Or maybe not.

From helpfile:

Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0, ''Hello World!'', ''Hi!'')"')

Edited by Siao

"be smart, drink your wine"

Link to comment
Share on other sites

Call MessageBox API on your own using DllCall.

Or maybe not.

From helpfile:

Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0, ''Hello World!'', ''Hi!'')"')

OK, now that's a cute work-around.

;)

I take it back... if you do that with a compiled script, the entire script gets run again because it is @AutoItExe. Worse, when each spawned instance of the script hits that line, it will spawn another recursively... not that I would be silly enough to run something like that... and then have to log off to stop the run away processes... and then have to log back in again to post this... ;)

You would have to have AutoIt installed on the machine running the script and path to that AutoIt3.exe, which would be unacceptable for most of my scripts intended purposes, or carefully code your script to not fall into the recursive spawning of duplicate processes.

:)

Edited by PsaltyDS
Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Link to comment
Share on other sites

PsaltyDS,

Your comments seem to be directed at this code from the help file:

Form4: AutoIt3.exe [/ErrorStdOut] /AutoIt3ExecuteLine "command line"

Execute one line of code.

To execute a single line of code, use the command:

Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0, ''Hello World!'', ''Hi!'')"')

The tray icon will not be displayed when using /AutoIt3ExecuteLine

If that is indeed what you are talking about in my quotes of you below, then I disagree with your assessment of that one line of code - complied or not.

If you were talking about that one line added into some other code, then maybe you are correct about it somehow calling itself.

...if you do that with a compiled script, the entire script gets run again because it is @AutoItExe. Worse, when each spawned instance of the script hits that line, it will spawn another recursively...

Nope, it runs just fine.

...You would have to have AutoIt installed on the machine running the script and path to that AutoIt3.exe,...

Nope. It uses the "AutoIt" within the compiled script to run the code or text file after a AutoIt3ExecuteLine or AutoIt3ExecuteScript switch. You will see one copy of AutoIt.exe for each AutoIt3Execute.... line used in the parent/main script.

This is from the help file under Running Scripts:

Form3: Compiled.exe [/ErrorStdOut] [/AutoIt3ExecuteScript file] [params ...]

Execute another script file from a compiled AutoIt3 Script File. Then you don't need to fileinstall another copy of AutoIT3.exe in your compiled file.

It also applies to the AutoIt3ExecuteLine switch. I've tested a compiled version of:

Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0, ''Hello World!'', ''Hi!'')"')

on a system without AutoIt installed.

Well, I'm off to re-install AutoIt on this system :-)

Correct me if I misunderstood your comments. It has been a long/bad day for me.....MSP

Edited by herewasplato

[size="1"][font="Arial"].[u].[/u][/font][/size]

Link to comment
Share on other sites

PsaltyDS,

Your comments seem to be directed at this code from the help file:

<snip>

If that is indeed what you are talking about in my quotes of you below, then I disagree with your assessment of that one line of code - complied or not.

If you were talking about that one line added into some other code, then maybe you are correct about it somehow calling itself.

You hardly ever go wrong disagreeing with my assessment... :)

You are right. My quote marks were wrong, which made the /AutoIt3ExecuteLine parameter wrong, which meant the line was read by the interpreter as:

Run(@AutoItExe & "/Scrambled stuff to pass as parameters here")

The bad quotes made it run the script instead of only using it as a source for the interpreter.

Lesson learned: If you want a compiled script to reference itself as the interpreter for an "/AutoIt3ExecuteLine" be very careful how you format that line, or it will just run the script passing your broken stuff as parameters to the script. This can be recursive, which lead to my runaway processes.

:)

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Link to comment
Share on other sites

...My quote marks were wrong, which made...

Man, than I was lucky in this thread: http://www.autoitscript.com/forum/index.ph...showtopic=22531

As often as I get quotes wrong, I'm surprised I did not have that happen to me while playing with all of those variations.

-MSP-

Edited by herewasplato

[size="1"][font="Arial"].[u].[/u][/font][/size]

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...