Autoit Multiclient fähig?

04/06/2013 04:45 FoGzone#1
Also ich stehe vor folgender Frage:

Ich habe vor Monaten einen Bot für Diablo 3 geschrieben, der momentan leider kein Multiclient unerstützt und genau das würde ich jetzt gerne ändern.

Ist es nun möglich z.B 5 Autoit Scripts gleichzeitig laufen zu lassen, die im Grunde alle das gleiche machen, nur eben jeweils via ControlSend/ControlClick ein anderes Fenster ansteuern?
04/06/2013 04:47 lolkop#2
Das kannst du sogar schön mit einem Script lösen....
04/06/2013 04:50 .Chakratos#3
@lolkop
das alle 3 clients in einer while schleife laufen oder wie?


LG Chakratos
04/06/2013 04:52 lolkop#4
die Ansteuerung der Clients, in einer Schleife sollte halt in der Hauptschleife laufen...

Man benutzt ja ohnehin nur eine Schleife.
04/06/2013 04:53 .Chakratos#5
könnte es dann nicht bei einigen clients zu verzögerungen kommen?


LG Chakratos
04/06/2013 05:04 FoGzone#6
Quote:
Originally Posted by .Chakratos View Post
könnte es dann nicht bei einigen clients zu verzögerungen kommen?


LG Chakratos
wobei das nicht mal schlimm wäre, da der Bot eh nur alle 2,7 Sekunden auf einen Button clickt.

Mir ging es lediglich darum, ob es generell möglich ist.

Danke euch
04/06/2013 12:29 Achat#7
Quote:
Code:
Func _WinGetByPID($iPID, $iArray = 1) ; 0 Will Return 1 Base Array & 1 Will Return The First Window.
    Local $aError[1] = [0], $aWinList, $sReturn
    If IsString($iPID) Then
        $iPID = ProcessExists($iPID)
    EndIf
    $aWinList = WinList()
    For $A = 1 To $aWinList[0][0]
        If WinGetProcess($aWinList[$A][1]) = $iPID And BitAND(WinGetState($aWinList[$A][1]), 2) Then
            If $iArray Then
                Return $aWinList[$A][1]
            EndIf
            $sReturn &= $aWinList[$A][1] & Chr(1)
        EndIf
    Next
    If $sReturn Then
        Return StringSplit(StringTrimRight($sReturn, 1), Chr(1))
    EndIf
    Return SetError(1, 0, $aError)
EndFunc   ;==>_WinGetByPID
Quelle: [Only registered and activated users can see links. Click Here To Register...]

Processlist('name.exe'), dann mit der Funktion oben für jeden Prozess das Window Handle speichern.

MfG