Hilfe für einen Anfänger bitte ....

  • Hallo.

    Ich versuche mit AutoIT eine Installation zu automatisieren und stehe nun vor einem Problem.

    Ich habe eine Auswahlliste wo ich keinen blassen schimmer habe, wie ich sie auswählen soll. Finde auch keinen Namen dazu, deshalb mal ein verweis auf solch eine Liste die ich in Google gefunden habe.

    http://publib.boulder.ibm.com/infocenter/ese…rk/d3nyp033.gif

    Ich müsste bei mir eigentlich nur den ersten punkt mit der option "auf lokale festplatte installieren" auswählen ...
    Nur keine Ahnung wie ich das in das skript reinbekomme.

    Danke schon mal!!!

    greez

  • hay,

    versuche es doch mal mit
    MouseClick( "button" [, x , x [, clicks [, speed]]]) ,
    des sollte helfen ;) .
    Die Coordinaten bekommst du mit dem Au3info-tool.

    MFG noob

  • danke schon mal für den ersten tip!

    da habe ich selbst schon dran gedacht es irgendwie so umzusetzten, aber was mich davon abhält, ist das ich diese Installation nicht von einer bestimmten Bildschirmauflösung abhängig machen will. Ist doch so wenn ich die Koordinaten angebe, oder?

  • hmm, kein thema.
    Ich habs fast schon geahnt dass du so etwas willst....*pling* Idee hab^^
    Alsoo, wenn das Fenster der Installation auf jedem Pc gleich groß ist kannst du ja die Coordinaten vom Fenster der Installation nehmen und nicht vom Pc. Verständlich erklärt?
    Da müsstest du , bin mir da unsicher, das Info-tool auf den Client modus umstellen, damit die Coordinaten dann immer vom aktiven Fenster genommen werden.
    (Optionen > Coord Mode > Client )

  • Versuchs lieber ma mit

    [autoit]

    ControlClick ( "title", "text", controlID [, button [, clicks [, x [, y ]]]] )

    [/autoit]

    da brauch man keine x;y Kordinaten
    weis aber nicht ob es bei deinem beispiel funzen würde !
    Hat aber schon Simon geagt ^^
    Edit : Habs noch nich ausprobiert aber du kannst glaub ich auch ne Kombi aus ControlGetPos und Mousklick

    [autoit]

    ControlGetPos ( "title", "text", controlID )

    [/autoit]

    2 Mal editiert, zuletzt von FunH@cker (9. Juli 2009 um 17:13)

  • danke!!
    werde mal die vorschläge ausprobieren.

    wenn es klappt, geb ich nochmal bescheid.

  • Mosche!
    Also irgendwie bekomm ich das alles nid so hin. Entweder ich bekomm nen error zurück, oder es tut sich garnix, egal welche methode ich nehme.
    Habe auch noch versucht per tastaur eingabe was zu machen, da der bereich des fensters standartmäsig ausgewählt ist, bekomme ich aber auch nur einen error :(

    vorallem ist mir aufgefallen, das ich überhaupt nicht garantieren kann, das er den installer ohne probleme durch geht. einmal macht er es bis zu meinem problem und ein anderes mal hört er schon vorher auf, ohne error.

    bin da echt neu in allem, arbeite auch eigentlich nur mit WinWaitActive und ControlClick (habe ich irgendwo gelesen das man damit fast alles machen kann) aber irgendwie funzt das alles nid so wie ich will ...

    hat evtl jemand von euch ein simples beispielskript? von ner quicktime installation oder so? .. das wäre auch mal was...

    so könnte ich zumindest das alles schon mal verfeinern bis ich (eher ihr) dahinter gekommen seid wie ich mein eigentliches problem löse.. :(

    ich bin schon wirklich nah an der verzweiflung, aber noch nicht am aufgeben :)

    greez

  • Hallo,
    wie sieht denn die Ausgabe des AutoIt-Window Info-Tools aus wenn du die Liste anklickst? (Screenshot?!)
    Rumrätseln und gaaaanz feste in die Glaskugel gucken hilft niemandem, am wenigsten dir....
    ciao
    Andy

  • Wir können bestimmt mehr shehen wenn du das AutoIt Window Info tool freezed [Ctrl + Alt + F ] und einfach das Summary kopierst und uns Postest :D

    Edit :
    Hats du meine Kombi ausprobiert also mit ControlGetPos die fenster kordinaten herausfinden und damit Mousemove steuern ? oder gabs da errors ??
    Edit 2 :
    So und um die Bildschirmauflösung zu bekommen gibt es dieses Beispiel :

    [autoit]

    $pos = ControlGetPos("Program Manager", "",1)
    MsgBox(0, "Fenster Status:", "Position: " & $pos[0] & "," & $pos[1] & " Größe: " & $pos[2] & "," & $pos[3] )
    exit

    [/autoit]


    $array[0] = X-Position
    $array[1] = Y-Position
    $array[2] = Breite
    $array[3] = Höhe

    2 Mal editiert, zuletzt von FunH@cker (10. Juli 2009 um 14:09)

  • Problem ist, daß alle Popups dieselbe #CLASS haben.
    Habe mal in der Hilfe gestöbert und bissl gebastelt:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #AutoIt3Wrapper_Au3Check_Parameters= -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <WinAPI.au3>

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

    while 1
    _Main()
    wend

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

    Func _Main()
    Local $aWindows, $i, $text
    $aWindows = _WinAPI_EnumWindowspopup()

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

    For $i = 1 To $aWindows[0][0]
    $text = "Window Handle: " & $aWindows[$i][0] & @LF
    $text &= "Window Class: " & $aWindows[$i][1] & @LF
    $text &= "Window Title: " & WinGetTitle($aWindows[$i][0]) & @LF
    $text &= "Window Text: " & WinGetText($aWindows[$i][0]) & @LF
    $text &= "Window Process: " & WinGetProcess($aWindows[$i][0])
    MsgBox(262144, "Item " & $i & " of " & UBound($aWindows) - 1, $text,1)
    ;ControlClick ( $aWindows[$i][0], "Undo","" )
    Next
    EndFunc ;==>_Main

    [/autoit]


    Script starten und mit dem Mauszeiger irgendwo hingehen, wo ein Tooltip existiert(Schnellstartleiste oder Scitebuttons), sobald der Tooltip erscheint, meldet sich auch die MsgBox. Als TEXT wird der Tooltiptext angezeigt.
    Klickt man aber RECHTS ins Scitefenster (oder wo es sonst Kontextmenüs gibt) dann erscheint zwar die msgbox und gibt den Handle des Kontextmenüs zurück, aber keinerlei weitere Info zum Fenster, Text, Controls usw.....
    Lässt man das Script nun mit der aktivierten (jetzt auskommentierten Zeile 20) ControlClick() laufen, dann klickt Controlklick auf den Handle, irgendwas (in dem Fall nichts sichtbares) passiert und das Kontextmenü wird geschlossen. Aha, Controlklicken geht also, fehlt nur noch die ID vom Menüitem..... ;(

    ciao
    Andy

  • leider habe ich zur zeit ihr einen overflow an arbeit ... kann mich also damit leider erst bald wieder beschäftigen.

    trotzdem ein großes danke an euch und die hilfestellung!!!!!

    greez