Externes Programm (ohne Controls) steuern

  • Moin zusammen,

    nur mal ne kleine Frage.

    Ich möchte hier auf Arbeit ein Programm automatisch steuern... derzeit mache ich das alles mit _ImageSearch. Das nervt mich aber irgendwie, denn es geht zwar so, aber perfekt ist was anderes.

    Mit dem AU3InfoTool bekomme ich keine Infos raus... keine Controls, keine ID's... nix.

    Habt ihr irgendwelche Ideen wie man ein solches Programm mit AutoIT steuern kann ohne ImageSearch (ControlSend geht halt nicht)?

    Ich habe früher mal tatsächlich mich an nem Bot mit AutoIT probiert und hatte dort die Speicherschreibfunktionen verwendet... (injection) - auf sowas möchte ich hier auf Arbeit jedoch nicht unbedingt zurückgreifen :D

    Irgendwelche Ideen oder geht es nur so wie ich es bereits tue?

    Danke und LG

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • ControlClick/-Send() kannst du auch ohne ControlId an das Fenster senden. (einfach "" statt 'ner Id angeben)
    Aber es kann sein, dass das Framework dahinter immer die Mauskoordinaten abfragt, dann wird's nicht hinhauen.
    Ich wollte mal ein Programm schreiben welches mich automatisch zwischen meinen LoL-Accounts umloggt, aber weil wirklich die Maus über den Buttons liegen musste ging's nicht per ControlClick.
    Probier einfach mal.

  • Hm aber um irgendein Controlelement anzusprechen müsste ich den doch Namen des Controls wissen... AU3Info wirft ausser dem Fenstertitel natürlich nichts aus. Anders als bei einer AU3 GUI oder z.B. Windowselementen, oder Firefox, Internet Explorer etc pp. Dort bekomme ich ja nicht nur den Fenstertitel sondern auch die einzelnen Controlelemente benannt. Aber wenn ich nichtmal den Namen eines Buttons erfahre - wie soll ich diesen dann innerhalb des Programms ansprechen ;)

    Das hat halt gerade mein Problem. Mit ImageSearch hab ich halt von jedem Button, von jedem Inputfeld usw. Screenshot gemacht, lasse die suchen und klicke dort halt hin... geht - aber elegant ist halt was anderes.

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • Du nimmst die relativen Koordinaten und machst dann einen Klick drauf (für Buttons).
    Für Inputs Klick->ControlSend(). Da brauchst du keine Namen.
    Wie gesagt das hängt vom Framework ab ob's das zulässt oder nicht.
    Ansonsten kannst du dich mit WindowMessages spielen (WM_MOUSEMOVE, WM_LBUTTONDOWN/-UP, WM_CHAR,...)