gemeinsame Variable oder Programmschnittstelle zur selbstständigen Zusammenarbeit meiner Programme machen

  • Moin moin,
    ich möchte, dass meine AutoIt-Programme selbstständich miteinander Zusammenarbeiten und sich Daten schicken können. Das soll soweit führen, dass eines meiner Programme (egal welches) ein anderes Progamm fehrnsteuern kann, indem es über eine gemeinsame Variable oder eine andere Programmschnittstelle direckt Befehle schickt. Die Befehle werden dann von dem Empfängerprogramm entgegengenommen und ausgeführt... :D
    Hat jemand eine Idee wie ich eine gemeinsame programmübergreifende Variable oder Programmschnittstelle basteln kann??
    Ich würde mich sehr freuen...

    MfG
    Deung

  • Du könntest einfach ne ini datei erstellen in der sich alle Programme registieren zb.

    Spoiler anzeigen

    [Programme]
    0=MeinPaint
    1=MeinWord
    2=MeinAutoit


    dann bekommt jedes Programm ne Befehl liste:

    Spoiler anzeigen

    [MeinPaint]
    0=beenden
    [MeinWord]
    0=oeffne
    1="C:\text.txt"
    [MeinAutoit]
    0=comiple


    Mit der Ini wäre es recht einfach und du hast nen dynamischen puffer. Jedes Programm könnte dann einfach prüfen ob bei sich ein Befehl vorliegt und ihn anschließend abarbeiten und dann aus der ini löschen.

  • Die beste Lösung ist meiner Meinung nach WM_COPYDATA, aber das ist auch nicht ganz so einfach ;)

  • such mal nach der MessageHandler.au3 und/oder Message.au3

  • Eine relativ einfache Variante ist, ein bissl shared memory zu allocaten und den Pointer auf diesen Speicher auf ein DUMMY-Control der anderen Scripte zu SENDen. Dann kann man fleissig auch größere Daten austauschen.

  • ja, zum Beispiel. In den Scripten dann eine Struct mit der Größe des Speicherbereichs definieren, und "drüber" legen.

    [autoit]

    $struct=dllstructcreate("byte[1000]",$pointer_alloc)
    ;auslesen mit
    $inhalt=dllstructgetdata($struct,1)

    [/autoit]


    Wenn es trouble in reserviertem oder geschützten Speicherbereichn gibt, hilft WriteProcessMemory

  • Ich finde es erstmal schön, dass sich so viele gemeldet haben...
    Ihr habt ein paar ganz gute Vorschläge. Könntet ihr mal ein paar Quelltexte zum Theama Memory schreiben? Ich hab damit noch keine Erfahrung und müsste mich erst reindenken. Das währe sehr nett. ^^

    Deung

    PS: An eine Ini-Datei hab ich schon gedacht aber eigntet sich nicht.