Auf dll aktion warten

  • hallo,
    ich möchte eine DLL in ein skript einbinden.
    das ist ja weiterhin kein problem...

    nur mein problem besteht darin das die dll eine schleife hat und auf eine aktion wartet (Globale Hot Key's)

    Das Skript soll aber weiterlaufen und je nach eintreffen eines strings (unerwartet) soll das skript es dann verarbeiten.

    da mehere funktionen möglich sein sollen muss die dll allerdings weiterhin in der schleife bleiben... bzw. sofort wieder reinkommen...

    ich habe leider keine idee.... hat vileicht von euch eine idee wie ich das problem lösen könnte?

    PS: in der furum suche habe ich leider nichts passendes finden können -.-

  • okay es geht leider nicth so wie ich mir das anfangs vorgestellt habe :(

    ich habe eine schnelle test.dll geschrieben mit einer schleife die ähnlich aufgebaut ist wie später die hotkey's...

    hier der autoit skript code:

    und hier noch die test.dll [BurPasic]

    wie man hier sehen kann ist hier der rückgabestring "Dll OK bestätigung"


    werend ich in der schleife [For...Next] war wurde die dll zwar immerwieder aufgerufen aber autoit hat gewartet bis die dll nicht mehr in de schleife war :( und das ist ja nicht mein ziel...

    Einmal editiert, zuletzt von Tearsof-theMoon (12. Juni 2007 um 14:46)

    • Offizieller Beitrag

    Hallo!

    Returnwert einer DLL geht über ein Array! Der normale rückgabe wert ist $return[0], also so:

    Spoiler anzeigen
    [autoit]

    Global $return[1]

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

    Func Key()
    $dll = DllOpen ( "test.dll" )
    $return = DllCall ( $dll, "str", "Open")
    DllClose ($dll)
    EndFunc

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

    AdlibEnable ( "Key",5)

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

    For $i = 1 to 50
    MsgBox ( 0, $i, $return[0], 1000)
    Next

    [/autoit]

    Meintest du das?

    Mfg Spider

    • Offizieller Beitrag

    Die DLL ist aber nicht nur eine einfache GUI oder!?
    Das kann AutoIt nämlich sehr gut selbst...
    Was willst du denn am Ende erreichen und was glaubst du nur mit der DLL machen zu können? Pur AutoIt wäre am einfachsten, aber ob das möglich ist, kann ich nicht sagen, wenn ich nicht weiß, was das Ziel ist...

    peethebee

  • GtaSpider
    okay das erklärt nur warum ich den text nicht bekomemn habe in der msgbox ^^
    aber ist ist ja nicht das gewesen wo rauf ich hinaus möchte...

    peethebee
    ich möchte mit der DLL globale HotKey's abfragen... und das kann AutoIt nicht..... oder irre ich mich?

    Einmal editiert, zuletzt von Tearsof-theMoon (12. Juni 2007 um 15:42)

  • Dann mach in der Dll keine Schleife dann fragt er es jedesmal bei dem Aufruf nur einmal ab...