Jump to content

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

IronAHK (alpha): cross platform .NET rewrite of AutoHotkey


  • Please log in to reply
581 replies to this topic
tic
  • Members
  • 1934 posts
  • Last active: May 30 2018 08:13 PM
  • Joined: 22 Apr 2007
Do you really need a 64 bit version then? Surely the 32 bit one would be fine if its just for the installer

I would like to help with gdi+ but have the concern that the same methods couldnt be used as it is all very dll reliant. For example, I have no knowledge of how to create the equivalent of a layered window under mac/linux

W00tW00t
  • Guests
  • Last active:
  • Joined: --
I think IRONAHK will be worthless, unless it can execute any and all present ahk code, including Windows DLL calls, so that it runs without error. Translation is hard, but it would be a worthy thing if someone is smart enough to pull this off.....

OceanMachine
  • Members
  • 790 posts
  • Last active: Aug 23 2013 02:10 PM
  • Joined: 15 Oct 2007
Hi Titan,

Firstly thanks for all the work you have done with this (and any one else who has contributed).

I am looking at the documentation (e.g. <!-- m -->http://www.ironahk.n...commands/msgbox<!-- m -->) and I am getting a 404 for every page.

I even tried links from the index at <!-- m -->http://www.ironahk.net/docs/commands<!-- m -->
and I am still getting 404s from there.

Are parts of the site down?

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

Do you really need a 64 bit version then? Surely the 32 bit one would be fine if its just for the installer

I'm not sure that would work either:

In general, 32- and 64-bit Microsoft Installer (MSI) packages are treated in the same way except for how Windows Installer treats folder variables such as [Program Files] and [System Folder], and how it writes components into the registry or GAC. When you create a 32- or 64-bit MSI package, the processor architecture is noted in the .NET Framework assembly's strong name identity when it is installed in the GAC.

While you can dynamically set the default install path (ProgramFiles or ProgramFiles64) and registry keys, the platform attribute has to be static. It makes no sense having a 64bit installation with 32bit DLLs in the GAC. I will look into this further for the next release, there might be a way to overcome this problem.

I would like to help with gdi+ but have the concern that the same methods couldnt be used as it is all very dll reliant. For example, I have no knowledge of how to create the equivalent of a layered window under mac/linux

System.Drawing is a managed wrapper and will be used for built-in GDI+ commands in a future version. DllCalls to gdi32.dll will only ever work on Windows.

I think IRONAHK will be worthless, unless it can execute any and all present ahk code, including Windows DLL calls

I agree. Apart from pointers, DllCall already works.

Translation is hard, but it would be a worthy thing if someone is smart enough to pull this off.....

It's rather straightforward as it only involves a good understanding of AutoHotkey from the source (not just the documentation) and the ability to write a cross platform version in C#. This is what I have been doing in my spare time since October 09 and if version 0.5.5 is any indication of progress you could guess how much work is outstanding.

I am looking at the documentation (e.g. <!-- m -->http://www.ironahk.n...commands/msgbox<!-- m -->) and I am getting a 404 for every page.

Looks like the cron script for updating the site didn't run as expected but it should be working now, thanks.

autohotkey.com/net Site Manager

 

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


OceanMachine
  • Members
  • 790 posts
  • Last active: Aug 23 2013 02:10 PM
  • Joined: 15 Oct 2007
I'm not sure if it is just me, but I have an issue with SoundBeep using IronAHK.

It seems that the default values are not being used if (optional) parameters are not provided.

MsgBox, Sound 1
SoundBeep, 523, 2000 ; <-- works fine

MsgBox, Sound 2
SoundBeep, , 2000 ; <-- doesn't work for me

MsgBox, Sound 3
SoundBeep ; <-- also doesn't work for me


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

It seems that the default values are not being used if (optional) parameters are not provided.

infogulch discovered the same problem last night with RegExReplace. If the limit parameter was unspecified the compiler passed the default integer value of 0 rather than using a value to match the documented behaviour, so nothing would be replaced. This has been fixed in my working copy for v0.7. Thanks for reporting it anyway.

autohotkey.com/net Site Manager

 

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


tic
  • Members
  • 1934 posts
  • Last active: May 30 2018 08:13 PM
  • Joined: 22 Apr 2007
Yo Titan...unfortunately System.Drawing does not have a lot of the things I would need to port the gdi+ library. I've been working heavily with c# and cant see a managed way to use .net to create non-standard windows. I will research further.....

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

I've been working heavily with c# and cant see a managed way to use .net to create non-standard windows.

System.Drawing is very comprehensive, I'm sure it doesn't miss out anything. You mentioned layered windows earlier, I think that can be achieved with alpha transparency.

autohotkey.com/net Site Manager

 

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


tic
  • Members
  • 1934 posts
  • Last active: May 30 2018 08:13 PM
  • Joined: 22 Apr 2007
no, no...a layered window has more differences to a normal window than just transparency. They dont require an on_paint event as you manually draw a dc to an hwnd. There isnt any obvious way that ive seen to use managed code to perform a managed UpdateLayeredWindow as it isnt part of gdi+, but User32.dll and thus requires a dllimport. I know there are equivalents on mac osx using aqua or cocoa and the equivalent with linux, but I will reearch into this if you want

polyethene
  • Members
  • 5519 posts
  • Last active: May 17 2015 06:39 AM
  • Joined: 26 Oct 2012
Sure, that would help.

autohotkey.com/net Site Manager

 

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


sarmstrong@eastlink.ca
  • Guests
  • Last active:
  • Joined: --
I was directed to IronAHK by Chris Dekter. This is welcome news. I have been greatly enjoying Chris's AutoKey for many months. I came to Linux a couple of years ago from Windows. The one thing I really missed from Windows was a program called Macro Express that I used extensively in a project to bring speech recognition to classrooms around the world. Macro Express is a very versatile, mature program. You may find some useful ideas for future development of IronAHK at http://www.macroexpr...om/features.htm.

OceanMachine
  • Members
  • 790 posts
  • Last active: Aug 23 2013 02:10 PM
  • Joined: 15 Oct 2007
That link gives a 404. I think you mean <!-- m -->http://www.macros.com/features.htm<!-- m -->

Could you advise what features MacroExpress has that AHK does not already have please?

Also, that program is paid software, whereas AHK is free and open source...

-deXter-
  • Members
  • 45 posts
  • Last active: Dec 23 2013 11:26 PM
  • Joined: 28 Nov 2004
Hi Titan

Just posting to show support, encourage and thank you for the great work done on IA so far!

Looking forward to the 95% Linux release soon.. :)

AHKnow*
  • Guests
  • Last active:
  • Joined: --

I think IRONAHK will be worthless, unless it can execute any and all present ahk code, including Windows DLL calls, so that it runs without error. Translation is hard, but it would be a worthy thing if someone is smart enough to pull this off.....


I hope you are joking. Anyway, you don't use it. I'm sure there will be loads of us that will use IronAHK. :p

Merging .NET wit AHK is a fantastic idea.

Tuncay n-l-i mobile
  • Guests
  • Last active:
  • Joined: --
Yes, this is the most impressive fork of ahk. I will definitely use it. Ahk was one of the most reasons not to changing to Linux. I was playing with the thought to forget about ahk because i will use in near future Linux mainly in a dayly basis.
IronAHK is greater than great. All i have dreamed would become true.