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
NoLuck
  • Members
  • 2 posts
  • Last active: Mar 31 2011 09:06 PM
  • Joined: 31 Mar 2011
Hi,

I installed IronAHK with WINE. Everything looked good, now when i double click the IronAHK program to open it the mouse spins for 15 seconds and stops. The program does not open.

Any ideas?

flashkid
  • Members
  • 115 posts
  • Last active: Apr 12 2013 06:33 PM
  • Joined: 25 Aug 2007
Why do you want to install it using WINE?
Just download the linux version and install the "native" linux version.

Frankie
  • Members
  • 2930 posts
  • Last active: Feb 05 2015 02:49 PM
  • Joined: 02 Nov 2008
Also, you don't usually run AHK by opening the EXE. In linux if you installed it you can go to the folder in the terminal/console and type IronAHK myscriptname.ahk
aboutscriptappsscripts
Request Video Tutorials Here or View Current Tutorials on YouTube
Any code ⇈ above ⇈ requires AutoHotkey_L to run

NoLuck
  • Members
  • 2 posts
  • Last active: Mar 31 2011 09:06 PM
  • Joined: 31 Mar 2011

Why do you want to install it using WINE?
Just download the linux version and install the "native" linux version.


Could you please link the correct native download for ubuntu? I think i have tried them all with noluck :).

flashkid
  • Members
  • 115 posts
  • Last active: Apr 12 2013 06:33 PM
  • Joined: 25 Aug 2007
I've used IsNull's last version a few days ago, everything is working fine on Ubuntu 10.10:
<!-- m -->http://dl.securityvi...ch/IronAHK/bin/<!-- m -->

IsNull
  • Moderators
  • 990 posts
  • Last active: May 15 2014 11:56 AM
  • Joined: 10 May 2007

Does anyone here have a monotouch licence? I'm thinking about getting a student licence to start testing this out.

I'm not interested in comercial implementations like these, but it seems that its already possible to compile Mono (with some Hacks) for IPhone/Andorid- (* endian Linux) Subsystems:
<!-- m -->http://www.mono-project.com/Mono:ARM<!-- m --> However, it will take some time till there are free implementations for MonoDroid/MonoTouch.

any idea when imagesearch / mouseclick will work?

ImageSearch should already work, the Click-Command is implemented, but only for Windows right now.

machead
  • Guests
  • Last active:
  • Joined: --
Are there any simple install and hos to for running this on MAC Os X 16.6.6 ??

I'm new to MAC's and want to try to get some of my scripts working on it as well as win & linux.

polyethene
  • Members
  • 5519 posts
  • Last active: May 17 2015 06:39 AM
  • Joined: 26 Oct 2012
I have fixed a few bugs reported by infogulch which I plan to push later tonight. IsNull has made major updates to the Rusty module which I plan to merge at the end of the week, reason being is that his approach to design and naming conventions is different to mine so I may need to make minor modifications first.

I still don't have a Mac so I am unable to verify usability of IronAHK on OS X. However this is still a priority and with MonoMac it will be easier to develop for OS X than it would have been without it a few months ago.

Currently one of the major issues with the project concerns the smart compiler. On .NET a certain private type generated by the C# compiler from Rusty seems to be incompatible with mirroring:

[CompilerGenerated]
internal class <PrivateImplementationDetails>{F1DAA991-36A1-4BBF-BAB0-A648D154F9D5}
{
    // Fields
    internal static Dictionary<string, int> $$method0x6000072-1;
    internal static Dictionary<string, int> $$method0x600008e-1;
    internal static Dictionary<string, int> $$method0x600009b-1;
    internal static Dictionary<string, int> $$method0x600016b-1;
    internal static Dictionary<string, int> $$method0x6000178-1;
    internal static Dictionary<string, int> $$method0x6000178-2;
    internal static Dictionary<string, int> $$method0x6000178-3;
    internal static __StaticArrayInitTypeSize=6 $$method0x6000178-4; // data size: 6 bytes
    internal static __StaticArrayInitTypeSize=6 $$method0x6000178-5; // data size: 6 bytes
    internal static Dictionary<string, int> $$method0x6000179-1;
    internal static Dictionary<string, int> $$method0x6000179-2;
    internal static Dictionary<string, int> $$method0x6000179-3;
    internal static Dictionary<string, int> $$method0x6000179-4;
    internal static Dictionary<string, int> $$method0x6000179-5;
    internal static Dictionary<string, int> $$method0x600017c-1;
    internal static Dictionary<string, int> $$method0x6000181-1;
    internal static Dictionary<string, int> $$method0x600018a-1;
    internal static Dictionary<string, int> $$method0x6000197-1;
    internal static Dictionary<string, int> $$method0x60001ab-1;
    internal static Dictionary<string, int> $$method0x60001e7-1;
    internal static __StaticArrayInitTypeSize=12 $$method0x6000365-1; // data size: 12 bytes
    internal static __StaticArrayInitTypeSize=10 $$method0x6000412-1; // data size: 10 bytes
    internal static __StaticArrayInitTypeSize=1024 $$method0x6000420-1; // data size: 1024 bytes

    // Nested Types
    [StructLayout(LayoutKind.Explicit, Size=10, Pack=1)]
    private struct __StaticArrayInitTypeSize=10
    {
    }

    [StructLayout(LayoutKind.Explicit, Size=0x400, Pack=1)]
    private struct __StaticArrayInitTypeSize=1024
    {
    }

    [StructLayout(LayoutKind.Explicit, Size=12, Pack=1)]
    private struct __StaticArrayInitTypeSize=12
    {
    }

[color=red]    [StructLayout(LayoutKind.Explicit, Size=6, Pack=1)]
    private struct __StaticArrayInitTypeSize=6
    {
    }[/color]
}

System.TypeLoadException was unhandled
  Message=Could not load type '__StaticArrayInitTypeSize=6' from assembly 'test.exe, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
  Source=mscorlib
  TypeName=__StaticArrayInitTypeSize=6
  StackTrace:
       at System.Reflection.Emit.TypeBuilder._TermCreateClass(Int32 handle, Module module)
       at System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
       at System.Reflection.Emit.TypeBuilder.CreateType()
...
I believe this class comes from how C# optimises switch statements with string labels. I met with Tobias in November last year on my Amsterdam trip and neither of us could work out why this was happening. On Mono this problem does not occur, so there may be workarounds.

While AutoHotkey v2 is being planned, IronAHK is still being built against the v1 spec. However many syntax features and commands have been wrapped under LEGACY compiler symbols so switching to a v2 spec is as easy as compiling without this switch. Having very briefly looked over the proposed changes I can say that a v2 profile for IronAHK will not be the same, but I am keen to follow discussions there to see what the community feel comfortable with.

autohotkey.com/net Site Manager

 

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


IsNull
  • Moderators
  • 990 posts
  • Last active: May 15 2014 11:56 AM
  • Joined: 10 May 2007
Ah the master is back :)

I've currently 3 Points:

1. Refactorings
After you reviewed my changes let me hear, so that we can bring it on a similar line. Consider also to read / answer some of my last emails, where I tried to explain some minor modifications.
After that I can do some modifications and then send you a merge request.

2. Smart Compiler
As .NET Libraries are of very small size, it might be OK to ignore the smart-compiler for now and ship the lib as separate dll, also in compiled exes. Is this actually a high priority issue?

3. X11 / Linux in general
IA lacks implementation of most X11 handling, and as Tobias has left primary development I looked over the Linux X11 Code myself. These days I made some refactorings (to make the X11 Code more understandable in creating much more files ;), like they have made it here-> Portal.CLI ) and also tried a bit to master the XGetTextProperty Method to allow some implementations for X11 Window handling. However, it was more a fight against the X Server, I'm currently studiing the Xlib docs.
I tested somewhat in my VM on a Ubuntu, but some wrappers seem not to work as expected.

4. Development Roadmap
Can you provide kind of a roadmap for the devs? Currently its very hard to find points where to work, we need some direction to go -> more detailed as the release roadmap. This also would it make much easier to delegate some work to other people...

cheers

maul.esel
  • Members
  • 790 posts
  • Last active: Jan 05 2013 09:26 PM
  • Joined: 28 Feb 2011
I've detected some simple "double-bug" ;-):
MsgBox %A_AhkPath%
When uncompiled, it throws IronAHK.Rusty.dll.
When compiled, it throws the path to the exe (itself) instead of path to IronAHK.exe as AHK would do.

Regards
maul.esel
Join the discussion on The future of AutoHotkey
Posted Image Visit me on github Posted Image
Win7 HP SP1 64bit | AHK_L U 64bit

crosbiesmith
  • Members
  • 3 posts
  • Last active: Mar 29 2010 08:03 PM
  • Joined: 24 Feb 2010
Hello! As a long-time AHK user I just discovered IronAHK but hit a problem right away running the following with IronAHK 0.7 on XP:

SetTitleMatchMode 2
WinActivate, Calculator

produces:

Could not execute: Attempted to read or write protected memory.  This is often an indication that other memory is corrupt.

Excluding the SetTitleMatchMode command produces no results - no error, but nor is the open Calculator window activated.

I can't seem to find any reference to this. Am I just very unlucky in my environment?

maul.esel
  • Members
  • 790 posts
  • Last active: Jan 05 2013 09:26 PM
  • Joined: 28 Feb 2011

Am I just very unlucky in my environment?

I don't think so: on my system (win7) it's the same.
There were already some commands that caused this message to appear.

An addition: If there is no such window, it displays

Could not execute: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

(I'm sorry I can't provide a translation :()
Basic AHK & AHK_L just do nothing.

Regards
maul.esel
Join the discussion on The future of AutoHotkey
Posted Image Visit me on github Posted Image
Win7 HP SP1 64bit | AHK_L U 64bit

IsNull
  • Moderators
  • 990 posts
  • Last active: May 15 2014 11:56 AM
  • Joined: 10 May 2007

SetTitleMatchMode 2

This error is confirmed and I'm on this. However, it seems to be a very nasty one.

[color=green]        /// <summary>
        /// The current mode set by <code>SetTitleMatchMode</code>: <code>1</code>, <code>2</code>, <code>3</code>, or <code>RegEx</code>.
        /// </summary>[/color]
        public static string A_TitleMatchMode
        {
            get
            {
                int mode = _TitleMatchMode ?? 1;
                return mode == 4 ? Keyword_RegEx : mode.ToString();
            }
            set
            {
                if(value != null) {
                    switch([color=red]value.ToLowerInvariant()[/color]) {
                        case "1": _TitleMatchMode = 1; break;
                        case "2": _TitleMatchMode = 1; break;
                        case "3": _TitleMatchMode = 1; break;
                        case Keyword_RegEx: _TitleMatchMode = 4; break;
                    }
                }
            }
        }
The red one throws a null ref exception whats actually not possible.
Maybe its a bug in the IDE or there went something wrong in the smartcomplier...

maul.esel
  • Members
  • 790 posts
  • Last active: Jan 05 2013 09:26 PM
  • Joined: 28 Feb 2011
I got two other things:
[*:2ihsmalf]When Gui, Show, Maximize is called, the gui is not shown. without Maximize it works fine.
[*:2ihsmalf]Gui, Show, xN yN works fine, except when both are 0: in this case, it is shown in the middle of the screenBut I also want to thank you again: this is great!
While scrolling through the code I found

Gui, Icon
Gui, BackgroundImage and
Gui, Taskbar.

The first two are great and will be really useful. But what is Gui, Taskbar for?

Regards
maul.esel
Join the discussion on The future of AutoHotkey
Posted Image Visit me on github Posted Image
Win7 HP SP1 64bit | AHK_L U 64bit

RaptorOne
  • Members
  • 43 posts
  • Last active: Apr 07 2012 08:44 PM
  • Joined: 07 Apr 2010

I got two other things:
[*:1dphxyf6]When Gui, Show, Maximize is called, the gui is not shown. without Maximize it works fine.
[*:1dphxyf6]Gui, Show, xN yN works fine, except when both are 0: in this case, it is shown in the middle of the screenBut I also want to thank you again: this is great!
While scrolling through the code I found

Gui, Icon
Gui, BackgroundImage and
Gui, Taskbar.

The first two are great and will be really useful. But what is Gui, Taskbar for?

Regards
maul.esel


German:
Ich habe diese Options zwar implementiert und IsNull
hat sie gemerged. Aber sicher das sie in den Code kommen wäre ich mir nicht!
Sowas von mir findest du übrigens überall im code.
Aber wie schon gesagt sicher sind diese Changes nicht.

Eng:
!! Not sure implemented !!

Gui, icon sets the window icon or hide/show it:
Gui,+Icon
Gui,-Icon
Gui,+Icon,C:\PathToAnyPicture\wndIcon.ico

Gui, BackgroundImage implements the .Net Property
Backgroundimage. With that you are able to show an
Picture as a background in the Form without using a control:
Gui,+BackgroundImage,C:\PathToPicture\Pic.jpg
Gui,+BackgroundImage,C:\PathToPicture\Pic.jpg,Tile
Gui,+BackgroundImage,C:\PathToPicture\Pic.jpg,Center
Gui,+BackgroundImage,C:\PathToPicture\Pic.jpg,Zoom
Gui,+BackgroundImage,C:\PathToPicture\Pic.jpg,Stretch ;Its the std option
Gui,+BackgroundImage,C:\PathToPicture\Pic.jpg,None

Gui, Taskbar
Hide or Show the Taskbartab!
Gui,-TaskBar
Gui,+TaskBar


Thanks.
I will fix your bugs soon!

EDIT::
Fixed
see:
<!-- m -->https://github.com/R... ... 1db0065df0<!-- m -->
and
<!-- m -->https://github.com/R... ... 77f4e82774<!-- m -->
Ahk_Ide_v3
Sry for my english.
Its very Bad! :lol: