Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

IronAHK - .NET port of AutoHotkey for Windows, Linux, Mac...


  • This topic is locked This topic is locked
48 replies to this topic
polyethene
  • Members
  • 5519 posts
  • Last active: May 17 2015 06:39 AM
  • Joined: 26 Oct 2012

what are the features (other than smaller file size) that make it better in Windows?

Portability is the main concern here as some of us would like to run ahk scripts in Linux without resorting to perl, php-gtk or any other language. Among the (purely coincidental) advantages, Windows users may be particularly interested in the following:
[*:2ar5mxmz]Increased performance with syntax jitted to CIL directly or via CSharpCodeProvider for rigorous optimizations i.e. not interpreted like AutoHotkey
[*:2ar5mxmz]Compiled scripts can't be reverse engineered to their source, only CLR bytecode
[*:2ar5mxmz]Security and reliability which managed code has to offer
[*:2ar5mxmz]Scalability (in future) since .NET makes threading, vector computations, SIMD and other hardware level API a lot easier
[*:2ar5mxmz]Native interoperability with other .NET assemblies and COM - I personally find reflection in .NET easier than Java
[*:2ar5mxmz]Modular code base for custom versions or use from other programming languages
[*:2ar5mxmz]Using the most liberal FOSS license means anyone is allowed to use our code for commercial purposes
[*:2ar5mxmz]Our code is completely original whereas about 40% of AutoHotkey comes from the AutoIt v2 code base
[*:2ar5mxmz]Collaborative effort - submit enough high quality patches in SVN and you can join the team

Is the .NET framework the only change (projected or current)?

A main development goal is to have 100% compatibility with AutoHotkey. After a version 1 release we plan to develop extensions.

I know someone who has a Mac who would be happy to test any pre-release versions you need to test

You may want to point them to #ahk, if they have time I'll be in touch.

autohotkey.com/net Site Manager

 

Contact me by email (polyethene at autohotkey.net) or message tidbit


jeffrey296
  • Members
  • 8 posts
  • Last active: Dec 22 2008 10:57 PM
  • Joined: 18 Jul 2008
Okay, I didn't understand half of what you said, but I'm glad to see it is improved (I use Linux primarily for coding and am happy to see a cross-platform version of AHK at all, but I was curious as to whether I should keep using the regular in Windows or switch to the new when a full release comes out--I'm gonna switch to the new one). Would non-C users be able to still code IronAHK just as simply as AHK was (with the exact same commands)? If not (or even if so), how exactly do you code it? Is it something like Python where you just import a module and then you just write it in Python?

Thanks for the quick reply by the way.
Jeff

polyethene
  • Members
  • 5519 posts
  • Last active: May 17 2015 06:39 AM
  • Joined: 26 Oct 2012
I apologize for the overly technical description, when we release version 1 hopefully someone can help me write documentation to explain the differences and benchmarks in plain English to help Windows users decide if it's worth switching.

Would non-C users be able to still code IronAHK just as simply as AHK was (with the exact same commands)?

Yes, we aim to have absolute parity with AutoHotkey for the first release such that you can replace AutoHotkey.exe with the binaries from IronAHK without further change and your scripts would still run as expected.

autohotkey.com/net Site Manager

 

Contact me by email (polyethene at autohotkey.net) or message tidbit


haichen
  • Members
  • 200 posts
  • Last active: Oct 20 2013 01:14 PM
  • Joined: 05 Feb 2007
Will compiled scripts be portable to another system with .NET?

polyethene
  • Members
  • 5519 posts
  • Last active: May 17 2015 06:39 AM
  • Joined: 26 Oct 2012
Yes of course, you can run your programs on OpenSolaris for example if you wanted to :p

autohotkey.com/net Site Manager

 

Contact me by email (polyethene at autohotkey.net) or message tidbit


jeffrey296
  • Members
  • 8 posts
  • Last active: Dec 22 2008 10:57 PM
  • Joined: 18 Jul 2008
Ok great! Thanks for asking our relentless questions and for keeping us updated even when we don't ask questions. If there's any way I can help, please let me know.
Jeff

tinku99
  • Members
  • 560 posts
  • Last active: Feb 08 2015 12:54 AM
  • Joined: 03 Aug 2007
I did not find a script object, replaced Script with core.
Replace the main method in program.cs with the following

 public static int Main(string[] args)
        {
            Rusty.Core script = new Core();
            script.MouseMove(400, 200, 80, true);
            Console.WriteLine("Press enter to continue...");
            Console.ReadLine();
            return 0;
        }

Additional info:
Windows XP 32bit
Visual Studio 2008 Express
Framework 2.0 or 3.5

tpop
  • Members
  • 1 posts
  • Last active: Dec 23 2008 05:27 PM
  • Joined: 23 Dec 2008
I can also test the code on the lastest Mac env: Mac OS X 10.5.5 running on intel 64bit cpu that can test the build.

If you provide me with the instructions to test I will do it.

Frankie
  • Members
  • 2930 posts
  • Last active: Feb 05 2015 02:49 PM
  • Joined: 02 Nov 2008
What are you planing on using for documentation? Are you going to use the AHK help file or make your own?
aboutscriptappsscripts
Request Video Tutorials Here or View Current Tutorials on YouTube
Any code ⇈ above ⇈ requires AutoHotkey_L to run

polyethene
  • Members
  • 5519 posts
  • Last active: May 17 2015 06:39 AM
  • Joined: 26 Oct 2012

I can also test the code on the lastest Mac

Thanks I may contact some time in future.

Are you going to use the AHK help file

Probably not, I may just document the technical differences to save time.

autohotkey.com/net Site Manager

 

Contact me by email (polyethene at autohotkey.net) or message tidbit


Chris
  • Administrators
  • 10727 posts
  • Last active:
  • Joined: 02 Mar 2004

Our code is completely original whereas about 40% of AutoHotkey comes from the AutoIt v2 code base

Just to set the record straight, the above is not true. AutoHotkey does not use any AutoIt v2 source code. However, it does use some AutoIt v3 code (less than 5% on a lines-of-code basis) for the particular commands listed at <!-- w -->www.autohotkey.com/forum/viewtopic.php?p=19710#19710<!-- w -->

Ice_Tea
  • Members
  • 131 posts
  • Last active: Aug 25 2010 11:11 AM
  • Joined: 12 Jan 2008

I apologize for the overly technical description, when we release version 1 hopefully someone can help me write documentation to explain the differences and benchmarks in plain English to help Windows users decide if it's worth switching.


I'd like to help out... or just contribute to IA; with stuff that I can help you with...
Posted Image

Dutchguy69
  • Guests
  • Last active:
  • Joined: --
I have downloaded the source yesterday and have compiled on openSUSE 11.0, with mono-core and mono-devel installed. I'm getting 2 warnings during the compilation.

When I try to run the binary from the binary directory with a source file that contains hotkey definitions I get the following result

mono iak.exe AutoHotkey.ini
Usage: iak.exe [-target:(library|exe|winexe)] [-optimize] [-usrlib:path] [-out:filename]

Is the hotkey functionality already available in the current version or is maybe something not completely right.

bits
  • Members
  • 10 posts
  • Last active: Dec 08 2010 01:13 AM
  • Joined: 17 Nov 2006

I have downloaded the source yesterday and have compiled on openSUSE 11.0


I too am using OpenSUSE 11.1.
Can you share (commands) on how exactly you compiled?

twhyman
  • Members
  • 348 posts
  • Last active: Sep 17 2014 01:55 AM
  • Joined: 07 Dec 2005
Hi,

Can you give us a progress report?

Thanks,
Twhyman
(\__/) This is Bunny.
(='.'=) Cut, copy, and paste bunny onto your sig.
(")_(") Help Bunny gain World Domination.