AutoIt DLL (Fake DLLs mit AutoIt erstellen und ausführen)

  • Hey Leute...

    viele n00bs meinen ja, dass man in AutoIt auch DLLs coden kann... Absofort schon (natürlich nur Fake DLLs).

    Funktionen
    DLL erstellen
    DLL callen
    DLL return auslesen

    Fake DLL Aufbau

    [autoit]

    #include <DLL.au3>
    ;you can not run this file
    ;this is a fake dll!

    [/autoit][autoit][/autoit][autoit]

    _DLL_StartUp()

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func _MsgBox($vID,$vTitle,$vText)
    Dim $iMsgBox
    $iMsgBox = MsgBox($vID,$vTitle,$vText)
    _DLL_Return($iMsgBox)
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func _ToolTip($vTitle,$vText)
    Dim $iToolTip
    ToolTip($vText,1,1,$vTitle)
    Sleep(1000*5)
    _DLL_Return($iToolTip)
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func _Calculate($Var1,$Var2)
    _DLL_Return($Var1+$Var2)
    EndFunc

    [/autoit]

    Fake DLL callen und return auslesen

    [autoit]

    #include <DLL.au3>

    [/autoit][autoit][/autoit][autoit]

    $MsgBox1 = _DLL_Call("mydll.exe","_MsgBox;64;titel;text goes here...")
    MsgBox(1,"Return",$MsgBox1)

    [/autoit][autoit][/autoit][autoit]

    $MsgBox2 = _DLL_Call("mydll.exe","_MsgBox;1;titel;another msgbox :P")
    MsgBox(1,"Return",$MsgBox2)

    [/autoit][autoit][/autoit][autoit]

    _DLL_Call("mydll.exe","_ToolTip;titel;wow a tooltip :O")

    [/autoit][autoit][/autoit][autoit]

    MsgBox(1,"","As you see... everything works fine... now lets calculate with a fake dll call ;)" & @CRLF & "5+3=?")

    [/autoit][autoit][/autoit][autoit]

    MsgBox(1,"","5+3=" & @CRLF & _DLL_Call("mydll.exe","_Calculate;5;3"))

    [/autoit]

    Download
    sh. Anhang

    mfg. sl4y3r

    bitte um kommentare :P

  • Damit man funktionen aus einer Externen Datei callen kann...

    Vorteil: Übersichtlicher,besser um den code vor anderen zu "Schützen", etc.

  • "Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »GtaSpider« (Heute, 16:54) aus folgendem Grund: Bot seiten haben hier nichts zusuchen. +1 Verwarnung"

    Solltest es wohl wo anders hochladen ;)

  • Ok, werd ich machen...
    werbung für meine HP is hier wohl nich erwünscht -.-

    schick euch den link per PN ;)

  • peethebee
    hab's hier hochgeladen...
    (copyright von meiner hp in der udf) deswegen hat wol GTASpider mein script gelöscht -.-


    EDIT: soooooo... nach den änderungen ist das attachment wieder online

    Einmal editiert, zuletzt von sl4y3r (17. Juni 2010 um 17:37)

  • :thumbup: . Das ist mal was anderes ^^ . Ich guck mir mal den Code an.

    Edit:
    Was soll das 8| .. Mal was anders :D

    Spoiler anzeigen


    Wer hat das gemacht?
    - I glaub hat jmd. zu viel Freizeit ^^

    Edit: Forum zeigt Bild falsch an..

    Nur keine Hektik - das Leben ist stressig genug

    2 Mal editiert, zuletzt von Antispeed (17. Juni 2010 um 17:55)

  • AntiSpeed
    "Was soll das"
    ist doch ein nettes bild

    "Wer hat das gemacht?
    - I glaub hat jmd. zu viel Freizeit"
    is von mir..., naja hab (lern)ferien

  • @simon
    danke :)
    eine richtige dll wird normalerweise in einer höheren programmiersprache geschrieben (c/c++, delphi, etc.), man kann bei dieser auch resourcen einbinden und hat allgemein einfach mehr funktionen.
    zudem wird diese mit DllCall() ausgeführt.
    Autoit ist halt "nur" eini skriptsprache, daher sind auch richtige DLLs nicht möglich

  • Zitat

    zudem wird diese mit DllCall() ausgeführt.

    Wenn man dies mti dllcall ausführen kann, für was sind dann deine dll funktionen

  • Standard DLL Call

    [autoit]

    DllCall("test.dll", "int", "_Funktion", "int", "Parameter1")

    [/autoit]


    UDF DLL Call von mir

    [autoit]

    _DLL_Call("test.dll","_Funktion;Parameter1;Parameter2")

    [/autoit]