Jump to content

Recommended Posts

Posted

Unless it's undocumented, I don't see a AutoItX method that will allow me to make a call to run an AutoIt3 script from within my application. When I started looking into AutoItX, I expected to see two methods: AU3_RunScript(LPCWSTR szScript, bool bBlock, long nTimeout) and AU3_RunScriptFile(LPCWSTR szPath, bool bBlock, long nTimeout) to allow my application to run pre-written (from files) or dynamically-generated (in memory) AutoIt3 scripts. Without these two methods, isn't AutoItX nothing more than a high-level WIN32 API wrapper? Can't all languages listed in the AutoItX Introduction make calls into WIN32 API without AutoItX? Granted, the AutoItX API is clean and straightforward, but coding to it requires me to recompile my application when the scripts need to change rather than just updating the script.

Am I missing something? I hope I am! I'd really like to use AutoIt3/AutoItX in my application.

Kevin

Posted (edited)

Sorry to burst your bubble, but if you want to run AutoIt scripts, you have to use AutoIt. AutoItX doesn't have the interpreter.

If you really want to run scripts, then you could distribute AutoIt3.exe with your app and use it to run your scripts in au3 or a3x form.

Edit: Clarity

Edited by AdmiralAlkex
Posted

Sorry to burst your bubble, but if you want to run AutoIt scripts, you have to use AutoIt. AutoItX doesn't have the interpreter.

I've already determined that AutoItX doesn't include the interpreter. The intention of my post was to ask, "Shouldn't it?" I suggest adding the interpreter to a version of AutoItX, or perhaps creating a separate product for just this purpose - perhaps AutoItE: AutoIt Embedded. Is the souce available? I'll write it and contribute it.

If you really want to run scripts, then you could distribute AutoIt3.exe with your app and use it to run your scripts in au3 or a3x form.

I really want to run scripts, but I'd prefer not to distribute AutoIt3.exe. I'd prefer to run scripts in my own process space rather than having to essentially shell out to another external application. At the end of the day, if that's not an option, I'll have to do one of two things I'd prefer not to do: either shell out to AutoIt.exe or use something other than AutoIt. The trick will be determining which I prefer not to do less.

Posted

I've already determined that AutoItX doesn't include the interpreter. The intention of my post was to ask, "Shouldn't it?" I suggest adding the interpreter to a version of AutoItX, or perhaps creating a separate product for just this purpose - perhaps AutoItE: AutoIt Embedded. Is the souce available? I'll write it and contribute it.

Sorry then, maybe I missunderstood. On the downloads page you will see "Previous versions archive". In there you will find autoit-v3.1.0-src.exe, which is the only code release, but it's 5 years old and I don't know if AutoItX is there or even existed at all at that time.

You could make a "feature request" by going to the BugTracker link at the top of the forum and see what the developers say.

Posted

I'm sure the devs have already dismissed this idea. It's not an uncommon question.

I did a brief search for previous requests for this. Do you know why they have dismissed it? It seems like a logical request - to be able to embed the AutoIt scripting engine into an application.

Posted

It would require the entire interpreter to be included in the dll, and that is not really what AutoItX was designed to be. AutoItX is a lightweight way to access certain functions without using AutoIt.

Also keep in mind that AutoIt is not thread ready. Any multithreaded application that called this "embedded" version would likely run into issues.

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
  • Recently Browsing   0 members

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