- Offizieller Beitrag
Acronis hat meines Wissens auch eine eigen GUI-Engine (wie Nero z.B.), mit der AutoIt nicht wirklich klar.
Vielleicht geht es mit Sends?
Poste bitte auch mal die komplette Zeile an der er stehen bleibt.
peethebee
Acronis hat meines Wissens auch eine eigen GUI-Engine (wie Nero z.B.), mit der AutoIt nicht wirklich klar.
Vielleicht geht es mit Sends?
Poste bitte auch mal die komplette Zeile an der er stehen bleibt.
peethebee
jo klar mach ich doch
also hier das Script dort wo er stehen bleibt hau ich nen gut sichtbares Kommentar rein
Opt("MouseCoordMode", 0) ;1=absolut zum Bildschirm, 0=relativ zum Fenster
Opt("WinTitleMatchMode", 4)
AdlibEnable("check", 250)
; Starte True Image-Setup
Run("setup.exe")
$Title = "Acronis True Image Server"
$RegKey = "(hier steht mein key)"
; auf das Program warten
; Startbildschirm
WinWaitActive("Acronis True Image Server Setup", "")
MouseClick("left", 440, 245)
; Welcome-Screen
While 1
If WinActive("AcronisTrueImageServer") Then;------------------------------------ ( hier steht er ohne den Sleeptimer)
MsgBox(64, "Info", "das Fenster ist aktiv!", 3)
ControlClick("AcronisTrueImageServer", "", 1468, "left", 1)
EndIf
Sleep(100);-----------------------(hier steht er mit Sleeptimer)
WEnd
; Lizenzvertrag
WinWaitActive($Title, "Lizenzvereinbarung")
ControlClick($Title, "", "Button3")
ControlClick($Title, "", "Button5")
; Seriennummer
WinWaitActive($Title, "Geben Sie die Seriennummer")
Send($RegKey)
WinWaitActive("VM-Wait", "", 2)
ControlClick($Title, "", "Button5")
; Setup-Typ, Komplett
WinWaitActive($Title, "Setup-Typ")
ControlClick($Title, "", "Button3")
; Ja, für alle Benutzer
WinWaitActive($Title, "Administrator-Optionen wählen")
ControlClick($Title, "", "Button4")
ControlClick($Title, "", "Button1")
; Setup-Zusammenfassung
WinWaitActive($Title, "Setup hat genügend Informationen")
ControlClick($Title, "", "Button1")
; Installation fertig
WinWaitActive($Title, "Installation komplett")
ControlClick($Title, "", "Button1")
; Neustart?
WinWaitActive("Bestätigung", "")
MouseClick("left", 280, 135)
; Startup-Screen beenden
WinWaitActive("Acronis True Image Server Setup", "")
MouseClick("left", 45, 460)
Func check()
ToolTip(WinGetTitle("active"), 0, 0)
EndFunc ;==>check
mach doch mal WinExists statt WinActive.
peethebee
Guten Morgen,
also habe das eben mit dem WinExists versucht, falls ich es richtig eingebaut habe.
So wie ichs hab überspringt er das einfach ohne meldung.
; Wait for program become active
; Startup-Screen
WinWaitActive("Acronis True Image Server Setup", "")
MouseClick ( "", 440, 245 )
; Welcome-Screen
If WinExists("AcronisTrueImageServer") Then
MsgBox(0, "", "Window exists")
EndIf
;While 1
;
; If WinActive("AcronisTrueImageServer") Then
; MsgBox(64, "Info", "das Fenster ist aktiv!", 3)
; ControlClick("AcronisTrueImageServer", "", 1468, "left", 1)
; EndIf
;
;
;WEnd
; Lizenzvertrag
WinWaitActive($Title, "Lizenzvereinbarung")
ControlClick($Title, "", "Button3")
ControlClick($Title, "", "Button5")
Das Script wartet dann auf das nächste Fenster was kommen würde.
Wollte mich mal für die bisherige Hilfe und Gedult mit mir bedanken
EDIT: juhu ein kleiner Fortschritt.
; Welcome-Screen
While 1
If WinActive("Acronis True Image Server") Then
MsgBox(64, "Info", "das Fenster ist aktiv!", 3)
ControlClick("Acronis True Image Server", "", 1468, "left", 1)
EndIf
WEnd
das funzt jez, nun erscheint ein kleines Fenster wie da angefordert und schließt dann auch fein.
Hängt dann aber in der Zeile "If WinActive(("Acronis True Image Server") Then"
und macht da dann halt nicht weiter. Bin ich blöd oder stell ich mich nur reichlich dumm an? :hammer:
Überall, wo du danach ControlClick machst, kannst du statt WinWaitActive WinExists machen. Damit umgehst du die Problematik, dass manche Fenster von sich aus nie aktiv werden.
Wenn du danach Send oder MouseClick hast, hilfe folgendes Konstrukt:
[autoit]
WinExists(...)
WinActivate(...)
WinWaitActive(...)
- hoffentlich zumindest
Viel Erfolg beim Testen,
peethebee
so wieder rum getüftelt *g*
Hab es soweit das es den anschein hat er würde klicken. Weil wenn ich manuell mit der Maus über den Button fahre "kippt" der so nach unten.
Das der Button so nach unten geht bedeutet ja das die maus da ist.
WinWaitActive("Acronis True Image Server Setup", "")
MouseClick ( "", 440, 245 )
; Welcome-Screen
;While 1
;If WinActive("Acronis True Image Server") Then
; MsgBox(64, "Info", "das Fenster ist aktiv!", 3)
; ControlClick("Acronis True Image Server", "", 1468, "left", 1)
;EndIf
;WEnd
; Welcome-Screen
WinExists($Title, "Dieser Assistent führt sie durch die Installationprozedur")
WinActive($Title, "Dieser Assistent führt Sie durch die Installationsprozedur")
WinWaitActive($Title, "Dieser Assistent führt Sie durch die Installationsprozedur")
MouseClick ($Title, 340, 380, 5 )
;ControlClick ($Title , "" , "Button1", 5 )
; Lizenzvertrag
WinWaitActive($Title, "Lizenzvereinbarung")
ControlClick($Title, "", "Button3")
ControlClick($Title, "", "Button5")
EDIT: okay er klickt endlich scheinbar jedenfall, nun übergeht er aber das nächste Fenster einfach und geht zum übernächsten. Nunja werde mal rumprobieren und euch hier nicht so auf die Nerven gehen
Danke für die bisherige Hilfe
EDIT2: So ganzen Tag dran rum gebastelt es läuft nun zu 99% durch, aber halt nicht zu 100 das aller erste Fenster lässt sich am Ende nicht schließen.
Glaub werd bescheuert, das frustet langsam :weinen:
; Startup-Screen
WinWaitActive("Acronis True Image Server Setup", "")
MouseClick ( "", 440, 245 )
Das obige ist das erste Fenster was wunderbar funzt.
;Start-Up Screen beenden
WinWaitActive("Acronis True Image Server Setup", "")
MouseClick ( "", 45, 245 )
;Alternativ hab ich das auch mal so probiert
; Startup-Screen beenden
;WinExists("Acronis True Image Server Setup")
;WinActive("Acronis True Image Server Setup")
;WinWaitActive("Acronis True Image Server Setup")
;MouseClick("", 45, 460)
Hallo!
Das ist doch mal was
Hast du das (Button in einem Fenster klicken) schon mal versucht?
Evtl. kannst du das Fenster auch mit WinClose oder WinKill schließen, was etwas rabiater ist. Wenn die Installation schon fertig ist, könnte man als letzten Ausweg auch ProcessClose machen.
peethebee
Morgähn :),
jop das in dem Link habe ich schon versucht.
Selbst das ProzessClose fuinzt nicht, habe das folgendermaßen ans ende des Scripts angefügt
ProcessClose("setup.exe")
hab vorher im Taskmanager geschaut welcher prozess das ist, habe 3 fälschlicher weise erst gekillt bis ich die gefunden hatte
Aber das muss der richtige Prozess sin.
Script durchlaufen lassen und siehe da.... das doofe fenster ist immernoch da -.-
Wenn ich den Prozess manuell kill isser wech.
Ideen? oder Fehler die ich mach
Hi!
Machs mal wie in der Hilfe, es könnte ja mehrere setup.exe-Prozesse geben:
$PID = Run("notepad.exe") ; Will return the PID
[...]
If $PID Then
ProcessClose($PID)
ProcessWaitClose($PID)
ToolTip("Prozess sollte gekillt sein...")
Else
ToolTIp("Prozess existiert scheinbar nicht...")
EndIf
peethebee
Hi hi nach etwas längerer Abstinenz,
das mit dem letzten Fenster ist sehr kurios.
Bekomme das dämliche Teil nicht automatisch zu.
Es ist definitiv diese "setup.exe". Gibt auch keine weitere
da hab ich auch schon nachgeforscht.
Könnte es funktionieren, das wenn man einfach sagt drücke "Alt+F4",
das das mit glück das Fenster schließt?
Tach nochmal,
also es läuft ich habs geschafft. Aber ich habe keinen blassen Schimmer
warum das nun läuft. Es läuft und das reicht mir fürs Erste *g*