I have a different view now on the COM/OLE/ActiveX issue, in the debate of AutoIt versus AutoHotkey. I do
not think AutoIt's implementation of COM/OLE/ActiveX is all that vastly superior to AutoHotkey's "quasi" support of COM/OLE/Activex. Furthermore, many people don't realize that AutoHotkey offers a method for you to use VBScript/JScript and thus COM/OLE/ActiveX.
AutoHotkey's
FileAppend command allows you to use JScript/VBScript in AutoHotkey scripts. Therefore, you get "quasi" COM/OLE/ActiveX support in AutoHotkey. Obviously, AutoHotkey's approach is more of a "work around", but this "work around" method may be
more powerful and useful (via able to support other scripting language). I do however, have issues with AutoHotkey's "quasi" support of COM/OLE/ActiveX via a "round about" method in terms of :
1. Explaining how to use JScript/VBscript in AutoHotkey scripts. Examples would be nice. (Note- Chris has said he would correct this in an update of AutoHotkey)
2. Using syntax like "
FileAppend" to support such functionality as oppose to using a more obvious syntax like "OtherScript".
3. I think that "other script" support in AutoHotkey should be expanded. This would provide another method to integrate AutoHotkey's automation and hotkey abilities with other scripting languages like Phython, Perl, .NET scripting languages like ( NScript, Cscript, C# Script, etc...).
4. CMDret (Dll solution to get console output by Corrupt (
http://www.autohotke...opic.php?t=3687 )) should be integrated with AutoHotkey.
Note1- Chris and Corrupt have made plans to do this in a future update of AutoHotkey.
Note2- A related AHK solution to get output from console applications and without using a DLL (works under more simplified situations) was demonstrated by Laszlo (
http://www.autohotke...opic.php?t=5944 )
AutoIt's implementation of COM/OLE/ActiveX is so close to VBScript that it creates a very good argument of why not simply USE VBScript for COM/OLE/ActiveX present itself? An advantage would be IF AutoIt simplified COM/OLE/ActiveX, but arguably AutoIt does NOT and in reality AutoIt has only a "slightly different flavor" of COM/OLE/ActiveX that "fits" better with AutoIt syntax and thinking.
AutoHotkey "round about" method simplifies the issue of using COM/OLE/ActiveX since you don't have to learn a "new flavor" of it and simply use VBScript and JScript, which are both very well documented.
But, if AutoHotkey ever came up with its own simplified COM/OLE/ActiveX support than this might prove very advantageous to script in addition to the many simplified and easy use commands like Loop and for GUI. I'm on the side that simplified and/or easier is often better, if its just as powerful, because you often can write a script
FASTER and it can be
EASIER to come up with SOLUTIONs.
Anyway, as a result of AutoIt's implementation of COM/OLE/ActiveX being so close to VBScript and AutoHotkey's ability to use commands like
FileAppend, CMDret (by Corrupt), and the related AHK solution to get output from console applications ( by Laszlo ) allow you to use VBScript/JScript inside of AutoHotkey scripts makes AutoIt and AutoHotkey a lot more evenly matched than many people think when it comes to COM/OLE/ActiveX. In fact, its often more a matter of preference, as oppose to one scripting language being clearly superior to another.
I mention these points because in many arguments that I have seen about AutoIt versus AutoHotkey, the
COM/OLE/ActiveX point is often brought up or many act like this is suppose to be the number 1 factor in which is better. Many people are not aware of what you can do with AutoHotkey in terms of VBScript/JScript and thus COM/OLE/ActiveX.
So if you take away the so-called COM/OLE/ActiveX advantage by AutoIt, than exactly what advantages does AutoIt have? I think many would be surprised that AutoHotkey's advantages in easier to use and understand syntax will start to show themselves more. I think some of the main arguments for using AutoHotkey or AutoIt as oppose to C++, other scripting languages, Visual Basic, etc... is that they are shortcuts and easier ways to solve a problems or give the ability to add automation.