Software reagiert nicht auf ControlClick()

  • Hallo Community,

    ich arbeite hier mit einer sehr veralterten Software :) (Arbeit). 80% Der täglichen Klicks sind die selben, deshalb möchte ich mir gern die Arbeit mit AutoIT vereifachen. Nachdem ich mein erstes Script erstellt habe, welches ausschließlich MousClick() Routinen bestizt, habe ich mich an die Routine ControlClick() gewagt. Leider passt bei mir da überhaupt gar nichts, wenn ich zum Beispiel einen Button anklicken.

    Code
    ControlClick("BMC Remedy User - [SAD:Auftragssteuerung BA/FA (Suchen)]", "Offene BA/FAs", 21006)

    Woran könnte das liegen? Ich arbeite mit zwei Bildschirmen.

  • ein bischen wenig benutze doch mal das autoitwindowstool dann bekomms du die daten die du für das control click brauchs ,

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

    etwas fehlt bei dir ich denke die clicks + x und y position

  • Hallo Sharky1337,

    Starte mal das Autoit Window Info tool und zieh das Fadenkreuz auf den button den du gerne drücken möchtest.
    Dann Poste einfach alles was unter Summary steht und ich kann dir dann gerne ein funktionierendes beispiel schreiben ;)

    @sillyboy

    Das ist nicht ganz richtig. Parameter in [ ] sind optionale parameter die nicht zwingend mit angegeben werden müssen.
    Wenn man bei Controlclick x und y nicht mit angibt klickt er automatisch in die mitte des Controls.

    lg

  • Kann euch leider nur soviel zu verfügung Stellen, bei den anderen Sachen weiß ich nicht ob ich das hier öffentlich machen darf...

  • hallo versuche mal so, bin von rechtsdoppelklick ausgegangen


    [autoit]


    $titel="BMC Remedy User - [SAD:Auftragssteuerung BA/FA (Suchen)]"
    $text= "SAD:Auftragssteuerung BA/FA (Suchen)"
    ControlClick ( $titel, $text,21006 , "right", 2 , 492, 24 )

    [/autoit]
  • hallo versuche mal so, bin von rechtsdoppelklick ausgegangen[

    Jo, deine Lösung Funktioniert. Aber da sind ja auch wieder Koordinaten drin und somit bin ich wieder nicht Auflösungunabhänig. Oder seh ich das falsch?

  • solte so auch gehen

    Koordinaten sind nicht zwingend, Standard ist die Mitte des steuerelements

    [autoit]


    ControlClick ( $titel, $text,21006 , "right", 2 )

    [/autoit]

    Einmal editiert, zuletzt von sillyboy (5. März 2011 um 12:01)

  • hm ,dann so

    Spoiler anzeigen
    [autoit]


    ;Legt fest, auf welche Weise Koordinaten verwendet werden, entweder absolut oder relativ zum momentan aktiven Fenster:
    ;Opt("CaretCoordMode", 1) wenndu das nimmt die Koordinaten einsetzen solte dann Auflösungunabhänig laufen
    Opt("WinTitleMatchMode", 1);Bestimmt welche Methode zur Fenstertitelerkennung in Suchaktionen verwendet wird.
    $titel="BMC Remedy User - [SAD:Auftragssteuerung BA/FA (Suchen)]"
    $text= "SAD:Auftragssteuerung BA/FA (Suchen)"
    WinActivate($titel,$text);Holt ein bestimmtes Fenster in den Vordergrund und setzt den Fokus auf dasselbe.
    ControlClick ( $titel, $text,21006 , "right", 2 );, 492, 24

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Zitat

    Aber da sind ja auch wieder Koordinaten drin und somit bin ich wieder nicht Auflösungunabhänig. Oder seh ich das falsch?


    Wenn ein Control bei einer Auflösung von 800x600 200 Pixel breit ist, dann ist es bei einer Auflösung von 1920x1080 immer noch 200 Pixel breit. Da die Koordinaten relativ zum Control angegeben werden dürfte das keinen Unterschied machen.