Hi ich habe versucht ein Setup eines Spiels (Need for Speed Most Wanted) aus Lernzwecken zu automatisieren.
Ich schaffe es aber nicht.
ControlClick geht nicht.
Und wenn ich das Setup mit autoit starte kommt immer error das eine dll fehlt oder beschädigt ist.
Habe auch versucht eine bat zu starten die das setup startet. Doch das geht auch nicht wenn man die bat mit autoit startet. Wenn man die bat einfach mit doppelklick aus seinem file explorer startet funktioniert es.
Was soll ich tun?
Setup Automatisierung
-
- [ offen ]
-
Molaynox -
26. November 2010 um 20:26 -
Geschlossen -
Erledigt
-
-
Was soll ich tun?
Zunächst dein Skript posten...
...danach sehen wir weiter -
Also wie gesagt ich hab es so versucht:
Spoiler anzeigen
[autoit]ShellExecuteWait("C:\Users\Tobias\Documents\Source\AutoRun.exe")
[/autoit]
WinWaitActive("Need for Speed™ Most Wanted")
ControlClick("Need for Speed™ Most Wanted","","Button1") ; ID des Buttons :1011
Und so:Spoiler anzeigen
[autoit]ShellExecuteWait("C:\Users\Tobias\Documents\Source\bat.bat")
[/autoit]
WinWaitActive("Need for Speed™ Most Wanted")
ControlClick("Need for Speed™ Most Wanted","","Button1") ; ID des Buttons :1011
In der bat steht
Das ging aber nur wenn man die bat manuell startet und nicht mit autoit.Und dann habe ich noch mit Run und so versucht, ging aber alles nicht.
ControlClick geht auch nicht auf dem Setup. -
Les dir in der Hilfe nochmal durch, was der Befehl ShellExecuteWait macht...
-
Uups
Aber auch mit ShellExecute geht es nicht und dann kommt der selbe error wie oben. -
Was soll ich tun?
Carbon spielen ^^.Nein ernsthaft, um welche dll geht's denn da? Hast du shellexecute mal ein workingdir mitgegeben?
-
es geht um eine dll die auf der cd ist. (Also auch in dem Ornder Source)
Und mit dem WorkingDir hatteste recht. Starten geht schonmal
aber ControlClick geht nicht.
ClassNameNN: Button1
Id: 1011 -
Korrekte Syntax des controlclick Befehls:
[autoit]ControlClick ( "title", "text", controlID [, button [, clicks [, x [, y ]]]] )
[/autoit]
[autoit]
Du schreibst:ControlClick("Need for Speed™ Most Wanted","","Button1") ; ID des Buttons :1011
[/autoit]Fällt dir was auf? Du hast doch schon die ID des Buttons rausgefunden deinem Comment zu Folge. Warum verwendes du dann "Button1" als ID ?
Hier kannst du btw noch Beispiele ansehen wie man auch noch andere Attribute wie z.B. den ClassNameNN zusätzlich verwendet: http://translation.autoit.de/onlinehilfe/intro/controls.htm -
Versuch es doch einmal auf diese Weise
[autoit]ShellExecute(@MyDocumentsDir & "\Source\AutoRun.exe")
[/autoit][autoit][/autoit][autoit]
_controlclick("Need for Speed","","[CLASS:BUTTON; INSTANCE:1]")Func _controlclick(Const $sTitle, Const $sText, Const $cContolID, Const $sButton = "left",Const $iClicks = 1)
[/autoit]
WinWait($sTitle,$sText)
ControlClick($sTitle,$sText,$cContolID,$sButton,$iClicks)
EndFuncWinWaitActive ist bei Controlclick eigentlich nicht notwendig.
-
Zitat
Versuch es doch einmal auf diese Weise
hat leider nicht funktioniert. (Auch nicht mit der button id)misterspeed
hab die id auch schon vorher verwendet. Danach hab ich einfach irgendwas probiert.Kann es sein ,das das setup controlclicks irgendwie verweigert?
Und wenn ja was gibt es für andere Lösungen. -
Die meißten können dir da wohl schlecht helfen, weil nicht jeder das Spiel hat.
ZitatUnd wenn ja was gibt es für andere Lösungen.
Einen normalen MouseClick... Ist allerdings sehr unsicher. -
Schade wollte eigentlich das es in jeder auflösung gehen würde.