script.a3x ausführen?

  • Hey Leute


    ich hab ein Tool programmiert, was mir Windows ständig als Bedrohung einstuft, da kann ich machen, was ich will. Da es mittlerweile fast 900 Codezeilen umfasst, die ich auch alle brauch, kann und will

    ich das nicht mehr umschreiben. Hat mir auch so schon genug Nerven gekostet.


    Wenn ich das als .a3x ausführe ist aber alles in Butter. Also will ich das als a3x File weitergeben. Auf den anderen Rechnern ist aber AutoIt nicht zwingend installiert.

    Mir ist, als würde es ausreichen, wenn man dem a3x Script die originale AutoIt.exe mitgibt, damit a3x ausgeführt werden kann.

    Aber wie zum Geier mach ich das?

  • Auf dem Zielrechner einfach die AutoIt3.exe (oder AutoIt3_X64.exe) in das Verzeichnis der .a3x kopieren.

    Der Start kann z.B. über eine .CMD erfolgen :

    Code
    @echo off
    REM Programmstarter
    CLS
    cd %~dp0
    Start "Launcher" "AutoIt3.exe" "mein-skript.a3x"

    Die AutoIt3*.exe's findest Du in Deinem ..\AutoIt3 Verzeichnis

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Danke :) :rock:

    Keine Ursache ;).

    Es gibt auch noch andere Möglichkeiten, falls Dich der Start über die CMD-Konsole stört.

    In dem Fall einfach noch mal melden.


    Falls Du Übergabeparameter verwenden musst, dann :

    Code
    @echo off
    REM Programmstarter
    CLS
    cd %~dp0
    Start "Launcher" "AutoIt3.exe" "mein-skript.a3x" Param1 Param2

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Moombas hat eine weitere Lösung in der Shoutbox präsentiert, die ich hier festhalten will.

    BEIDE Varianten funktionieren ausgezeichnet und tun, was sie sollen :)


    AutoIt3.exe in das Scriptverzeichnis kopieren, davon eine Verknüpfung erstellen und in deren Eigenschaften im Zielinput " NameDer.a3x" anhängen

    Beispiel: H:\ARU\includes\AutoIt3.exe MeinScript.a3x

    (Sollte der Name Leerzeichen enthalten, so ist dieser logischerweise in Anführungszeichen zu verpacken)


    Wenn man dieser Verknüpfung dann noch ein Icon zuweist, erscheint alles genau so wie es sein sollte, wenn Windows nicht so rumzicken würde!

    Das mit dem Icon funktioniert auch mit der CMD-Variante.

  • Nachtrag : Nur zur Info

    Viele der #AutoIt3Wrapper_ Anweisungen werden bei .a3x Skripten ignoriert, da diese keinen PE-Header haben. Dazu gehören u.a. :

    - #AutoIt3Wrapper_icon

    - viele der #AutoIt3Wrapper_Res_ Anweisungen wie z.B. #AutoIt3Wrapper_Res_Fileversion


    Auch zu beachten :

    .a3x Skripte sind 'bit-less', d.h. die Anweisung #AutoIt3Wrapper_UseX64 hat keinen Effekt. Du musst sie über den passenden Interpreter starten, also :

    - 32 Bit Skripte ==> AutoIt3.exe

    - 64 Bit Skripte ==> AutoIt3_X64.exe

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Danke dafür xD


    Off-Topic:

    Ich hab aber effektiv noch nie die 64bit Variante benötigt. Mir ist noch kein Fall untergekommen, bei dem ich die 64bit benötigt hätte.

    Was wäre denn ein Beispiel dafür?



    _______________

    Nachtrag:

    Fällt mir grad ein, was ist denn mit diesen #Pragma Dingern? (heissen die Direktiven?)

    Würden die noch funktionieren?

  • Nachtrag:

    Fällt mir grad ein, was ist denn mit diesen #Pragma Dingern? (heissen die Direktiven?)

    Würden die noch funktionieren?

    Die #Pragma Direktiven verhalten sich bezüglich Icon, Dateieigenschaften (Fileversion, LegalCopyright usw.) wie die #AutoIt3Wrapper_-Anweisungen. Da es bei .a3x keinen PE-Header gibt, werden sie auch mittels #Pragma nicht eingetragen.


    Kompiliere nachfolgendes Beispiel mal mit #AutoIt3Wrapper_OutFile_Type=a3x und mit #AutoIt3Wrapper_OutFile_Type=exe, dann siehst Du den Unterschied.


    Siehe auch die ausführliche Beschreibung von Bitnugger : unterschied-pragma-und-autoit3wrapper


    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Beim Testen, ob die #pragmas funktionieren, stellt sich heraus, dass Wondows dann auch die a3x Files als böse einstuft :party: :klatschen: :part:

    Könnte Zufall sein bzw. vom jeweiligen Anti-Virusprogramm abhängen. Ggf. spielt auch die Tagesform von Windows eine Rolle - wer weiß das heute noch :rolleyes:.


    Bleibe einfach bei den #AutoIt3Wrapper_ Anweisungen.

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Hab dieses Beispiel aus der Hilfe benutzt. Es wird ohne weiteres kompiliert, aber nachdem ich nur drauf rechtsklicke um die Eigenschaften einzusehen, kommt der WindowsHammer...


    Hier sollte jetzt eigentlich ein Zitat von Musashi rein, aber das will auch nicht so wie ich... liegt vllt doch alles nur am User?!


    EDIT (von Musashi) :

    Lottich : Ich habe mein Zitat mal eingefügt :P.

    Bleibe einfach bei den #AutoIt3Wrapper_ Anweisungen.


    So ist der Plan xD