Hilfe bei hotkey und timer funktion

  • Hallo an alle.

    Ich versuche versuche ein Timer in mein Script einzubauen der anzeigt wie lange es läuft nur scheitere ich an der Umsetzung

    ich habe es mal einfach über die Sleep Funktion gemacht und es wird mir in einem Tooltip angezeigt.

    aber ich meine die Sleep Funktion in einer schleife ist doch kein richtiger Timer oder irre ich mich da o0 ?

    Weil es in der schleife ist kann ich mein eigentlich Script nicht zum laufen bringen, soweit ich weiß können ja keine 2 schleifen gleichzeitig laufen oder ?.

    Spoiler anzeigen


    Mein Script hat eine kleine GUI sobald ich es starte soll er auch sofort los legen, alles ist in einer schleife.

    while 1

    mauseclick hir und da

    msg box

    blabla

    wend

    Wegen der GUI steht folgender code damit der X knopf an der GUI auch funktioniert

    Spoiler anzeigen
    Code
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
    
        EndSwitch
    WEnd

    Wie ich das verstanden habe überwacht die GUI den X Knopf ob es gedrückt wird oder nicht damit es sich selbst schließen kann
    weil es in der schleife ist geht es auch nicht zur eigentlichen haupt Funktion rüber.

    Ich möchte den Script mit Hotkeys ansteuern und keine Buttons haben aber trotzdem soll der X Knopf funktionieren wie setze ich das um ?

    Momentan sieht mein Code so aus ohne Timer

    Haupt Code


    Ich würde mich über eure Hilfe freuen

  • Oftmals sägen die User am falschen Ast was die Art von Scripten angeht die sie schreiben wollen.

    Was ist denn das eigentliche Problem das du lösen möchtest? Vielleicht gibts ja eine bessere Lösung als die Benutzung von Pixelfunktionen.

    Schildere uns doch bitte in welchem Programm/Spiel du was genau machen möchtest!

  • HALLO alpines danke für die schnelle antwort, ich hätte jetzt nicht damit gerechnet das um diese uhrzeit noch jemand schreibt.

    Es geht eigendlich nur um die praxis das ich was lerne.

    Pixel serch war nur als test. Ich versuche verschiedene funktione aus. Nur stöße ich immer wieder auf meine grenzen zu wen ich guis verwende und der script mehr mache muss :(

    Ich dencke ich habe die while funktion falsch eingesetz und müsste es als funktion setzen

    Z.b.

    Func _mainscript()

    rumgeklicke

    Msgbox

    Was auchimmer

    Endfunc

    Und dan _mainscript = frue setzen und mit if funktionen arbeite.

    Ich glaube mir wird schwindelig von dem ganzen denken.


    habe da schon paar ideen wie ich paar sachen umsetzen kann aber es ist schon siemlch spät geworde hoffe ich zerbrech mir nicht den kopf von all den gedancken und ideen :D

    Gute Nacht euch allen

    Einmal editiert, zuletzt von starrfreak (25. Mai 2020 um 02:05) aus folgendem Grund: sstz verbesserung

  • Es geht eigendlich nur um die praxis das ich was lerne.

    Nun in der Praxis ist es nahezu immer so, dass es eine bessere Lösung existiert welche keine Pixelfunktionen verwendet, deshalb würde ich davon abraten überhaupt solches Zeugs zu lernen.

    Erstens kann man sowas automatisch wenn man generell besser AutoIt kann, zweitens sind solche Funktionen sehr fehleranfällig wenn Fenster dazwischenkommen und nicht in den Hintergrund verlagerbar wie es bei nicht-pixelfunktionbasierten Scripten der Fall ist.

    Das kann ich dir auch gerne an einem Beispiel erläutern wenn du mir erzählst in welchem Programm/Spiel du 'rumklicken' möchtest bzw. was du damit generell erreichen möchtest.

    Du bist nicht der erste der hier antanzt und versucht mit Pixelfunktionen zu lernen und zudem noch ImageSearch verwendet obwohl es wesentlich schneller und einfacher lösbar wäre.

    Durch die Verlockung der Pixelfunktionen ensteht bei vielen Usersn auch Spaghetticode, weil sie sich in Rekursionen verlieren und dann überhaupt nicht mehr weiter wissen, das soll bei dir eben nicht passieren.

  • Ich versuche einen Timer in mein Script einzubauen, der anzeigt wie lange es läuft.

    Bevor die Fragen von alpines bzgl- Spieleautomation etc. nicht geklärt sind, hier ein vereinfachtes Beispiel :

    HALLO alpines danke für die schnelle antwort, ich hätte jetzt nicht damit gerechnet das um diese uhrzeit noch jemand schreibt.

    Er 'wohnt' quasi im AutoIt-Forumsserver ;).

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Hallo,

    alpines es geht nicht mal darum das ich ein spiel oder Programm automatisieren will.

    Das bei mir die Pixelfunktion und ImgaeSearch drin ist war aus neugier der Script klickt momentan nur im Desktop rum uns sucht nach dem Icon der Chrome Verknüpfung
    Es geht ehe um die GUI da ich noch relativ neu bin was Programmieren/Codieren an geht und noch die damit was zu tuen hatte außer mal in der schule mit batch Daten und netsend den Lehrer im Informatik unterricht auf die nerven zu gehen :D

    Und ist es den nicht lauf Foren Regeln verboten das man über spiele Automatisierung helft/anfragt ?

    Bevor die Fragen von alpines bzgl- Spieleautomation etc. nicht geklärt sind, hier ein vereinfachtes Beispiel :

    Ich versuche gerade aus deinen beispiel schlau zu werden. Ich werde es mal später versuchen in die gui zu implementieren, aber das muss erstmal warten weil ich gleich zur Arbeit muss mal gucken ob ich nach Feierabend noch etwas zeit damit verbringen kann. Ich werde mich später noch mal melden

    Zitat

    Er 'wohnt' quasi im AutoIt-Forumsserver ;).

    Gruß Musashi

    this is Hilarious :rofl: da konnte wohl noch jemand nicht schlafen.

  • Und ist es den nicht lauf Foren Regeln verboten das man über spiele Automatisierung helft/anfragt ?

    Was leider solche Anfragen nicht verhindert.

    Das bei mir die Pixelfunktion und ImageSearch drin ist war aus neugier der Script klickt momentan nur im Desktop rum uns sucht nach dem Icon der Chrome Verknüpfung

    Ich hoffe das dies kein ernst gemeinter "Anwendungsfall" ist.

    • Offizieller Beitrag

    Wieso? Was spricht denn dagegen? Jeder der lernt soll auch ausprobieren.

    Und dennoch ist es doch seeeehr seltsam, dass Imagesearch als erste Funktion den Anfängern ins Auge springt.

    Wieso landen Anfänger bei der Fülle der Funktionen gerade dort?! Das setzt gezielte Suche voraus und ebenso einen Plan, was man tun will.

    Ich habe noch nie erlebt, dass man "zufällig" auf das Pixelgedöns stößt und sich sagt: Geil, hier kann ich was Lernen. :Face:

    Wer Lernen möchte, arbeitet Tutorials durch, programmiert Bsp. aus der Hilfe nach und verändert sie etc.

    Insofern ist ein Misstrauen in solchen Fällen angebracht und fast immer begründet.

  • Jeder der lernt soll auch ausprobieren

    Na jedenfalls muß der TE noch lernen ein Lauffähiges Beispielskript zu erstellen bzw. zu posten, denn sein Skript erzeugt folgende Fehlermeldungen:

    ein beifügen des Icons wäre auch hilfreich.

    mfg (auto)Bert

  • Wieso? Was spricht denn dagegen? Jeder der lernt soll auch ausprobieren.

    Richtig, aber alles was ich NUR ausprobiere landet in einem separatem Skript und verbleibt nicht in einem was ich auch verwenden möchte.

  • Und dennoch ist es doch seeeehr seltsam, dass Imagesearch als erste Funktion den Anfängern ins Auge springt.

    Wieso landen Anfänger bei der Fülle der Funktionen gerade dort?! Das setzt gezielte Suche voraus und ebenso einen Plan, was man tun will.

    Ich habe noch nie erlebt, dass man "zufällig" auf das Pixelgedöns stößt und sich sagt: Geil, hier kann ich was Lernen. :Face:

    Wer Lernen möchte, arbeitet Tutorials durch, programmiert Bsp. aus der Hilfe nach und verändert sie etc.

    Insofern ist ein Misstrauen in solchen Fällen angebracht und fast immer begründet.

    Nö, eben nicht. Das Problem ist, dass du als Anfänger erst gar nicht weißt was überhaupt existiert und welche Suchbegriffe du brauchst um überhaupt das zu finden was du auch tatsächlich benötigst. Es fehlt schlichtweg das Wissen dazu. Wenn ich mich an meine Anfangszeit zurückdenke bin ich Haufenweise eben auf diese Funktionen gestoßen. Klar, erst einmal suchst du so generelle Sachen wie "AutoIt Tutorial Deutsch" oder soetwas. Nachdem du dir dann ein wenig Basic Wissen rein gepumpt und sowieso nix verstanden hast, fängst du an Dinge machen zu wollen. Was vermeintlich einfaches. z.B. Dinge anklicken, Maus bewegen, in Notepad schreiben, vielleicht mal Usereingaben entgegen nehmen und deine erste Messagebox ausgeben.

    Zwangsläufig landest du dann irgendwann nach langer suche auf eben diese Funktionen. Sie sind einfach zu verstehen als Anfänger, benötigen sonst nicht so viel Code drum herum und geben dir ein direktes Feedback. Anfänger wissen nicht was sie falsch machen, also gehen viele schlichtweg davon aus dass sie einfach die falsche Funktion haben und suchen weiter. Oder fragen dann mal in Foren nach.

    Ich beobachte schon seit längeren dass ihr Teilweise Anfänger einfach rausgrault. Klar, viele Fälle sind gegen die Forenrichtlinien - das ist soweit auch ok. Aber auch einige false positives. Das weiß ich daher, weil ich diese Anfänger meist dann noch abgreife und ihnen privat Hilfe anbiete. Es stellt sich eher heraus dass diese einfach nicht wissen dass statt dem ImageSearch vielleicht doch ein ControlClick besser wäre (oder gar existiert). Zumal wissen die meisten auch gar nicht was sie wollen. Sie probieren einfach momentan nur aus. Das gehört zu der Lernphase dazu.

    Was ich lediglich sagen möchte ist: Stellt eure Fangfragen, ja. Seit aber nicht immer so stark voreingenommen. :d

    Es sei denn ihr wollt ein exklusiver Club bleiben.

  • Ich beobachte schon seit längeren dass ihr teilweise Anfänger einfach rausgrault. Klar, viele Fälle sind gegen die Forenrichtlinien - das ist soweit auch ok. Aber auch einige false positives. Das weiß ich daher, weil ich diese Anfänger meist dann noch abgreife und ihnen privat Hilfe anbiete. Es stellt sich eher heraus dass diese einfach nicht wissen dass statt dem ImageSearch vielleicht doch ein ControlClick besser wäre (oder gar existiert)

    >90% der geschlossenen Threads im (sprachlich bedingt) höher frequentierten englischen Forum stammen von 'Neumitgliedern', die Pixelsearch/ImageSearch zum Erstellen von (Spiele-)Bots verwenden woll(t)en. Danach hat man nie wieder von denen gehört - so groß kann der Wunsch nach dem Erlernen einer neuen Sprache also nicht gewesen sein:P.

    Ich halte daher auch, wie BugFix bereits schrieb, ein "gewisses Maß an Misstrauen" für angebracht.

    Auf die wahrscheinliche Existenz geeigneterer Lösungen hat alpines hingewiesen :

    Zitat

    Oftmals sägen die User am falschen Ast was die Art von Scripten angeht die sie schreiben wollen.

    Was ist denn das eigentliche Problem das du lösen möchtest? Vielleicht gibts ja eine bessere Lösung als die Benutzung von Pixelfunktionen.

    und ich habe ein kleines Beispiel zu Thema Timer beigesteuert.

    Hier wird also niemand 'einfach rausgegrault'.

    starrfreak :

    Lasse Dich durch die Debatte nicht irritieren und stelle weiterhin Deine Fragen. Falls sich herausstellt, dass es in 'die falsche Richtung' geht, bekommst Du einen entsprechenden Hinweis ;).

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Hallo und Guten Abend,

    Mensch hier ist was los, ich weiß gar nicht wo ich anfangen soll ?(.

    Na jedenfalls muß der TE noch lernen ein Lauffähiges Beispielskript zu erstellen bzw. zu posten, denn sein Skript erzeugt folgende Fehlermeldungen:

    ein beifügen des Icons wäre auch hilfreich.

    mfg (auto)Bert

    Ich weiß nicht wieso du diese Meldungen hast bei mir läuft alles, nur nicht so wie ich es haben wollte naja egal.
    Ich hoffe das mit dem icon nur ironisch gemeint o0 ?

    Und dennoch ist es doch seeeehr seltsam, dass Imagesearch als erste Funktion den Anfängern ins Auge springt.

    Wieso landen Anfänger bei der Fülle der Funktionen gerade dort?! Das setzt gezielte Suche voraus und ebenso einen Plan, was man tun will.

    Ich habe noch nie erlebt, dass man "zufällig" auf das Pixelgedöns stößt und sich sagt: Geil, hier kann ich was Lernen. :Face:

    Wer Lernen möchte, arbeitet Tutorials durch, programmiert Bsp. aus der Hilfe nach und verändert sie etc.

    Insofern ist ein Misstrauen in solchen Fällen angebracht und fast immer begründet.

    Ich denke das die post von Yjuq #12 alles beantwortet hat, ich stimme ihm voll und ganz zu
    ich kann nicht der einzige sein der sowas angezeigt bekommt wenn man nach Autoit Tutorials sucht


    Spoiler anzeigen

    und da landet man zur 90% immer auf die funktion imagesearch und pixelfunktion
    dabei muss man es nicht einmal bei Spielen anwenden. Als Familien Vater habe ich andere sorgen als ein bot für ein spiel zu machen.
    es ging einfach nur darum nachzumachen zu versuchen und verstehen

    Eure bedenken kann ich einerseits verstehen das man die Funktionen eben gezielt auf spiele anwendet, das man eine gewisse art misstrauen hat, anderer seits wen man als Anfänger anfangt wird man mit den Funktionen SEHR schnell konfrontiert.

    ich habe eben noch mal nach anderen Tutorials gesucht und werde mich an dem vom Forum erstmal halten.

    und ich habe ein kleines Beispiel zu Thema Timer beigesteuert.

    Hier wird also niemand 'einfach rausgegrault'.

    starrfreak :

    Lasse Dich durch die Debatte nicht irritieren und stelle weiterhin Deine Fragen. Falls sich herausstellt, dass es in 'die falsche Richtung' geht, bekommst Du einen entsprechenden Hinweis ;).

    Gruß Musashi

    Dafür bin ich dir echt dankbar. Ich bin noch nicht dazu gekommen iwas am code zu machen oder dein beispiel zu umzusetzen es war eben eine harte schicht heute und gleich wieder schlafen gehen, Ich habe wenn ich Mittagsschicht habe nicht viel zeit und ich komm zu nix.

    ich werde högst wahrscheinlich erst am Wochenende dazu kommen .

    Ich hoffe ich habe niemanden mit meiner art und weise wie ich schreibe angegriffen, falls doch bitte nimmt es mir nicht übel.

    ich wünsche euch noch ne gute nacht

    gruß SF

  • starrfreak Nur ein Tipp: Such nicht unbedingt bei YT nach Tutorials, besonders wenn es um das Programmieren geht. Das kann in manchen Fällen hilfreich sein, ist in der Regel aber (besonders am Anfang) mühsamer als Foren zu durchstöbern.

    Zuhören, zurück spulen weil man etwas (akustisch oder Wissentlich) nicht verstanden hat, ggf. nervig suchen nach der Stelle wo man Probleme hat etc., das geht in Textform wesentlich besser, da man beliebig springen kann, Suchfunktionen für bestimmte Begriffe nutzen kann und direkt Aussagen zitieren/hinterfragen kann.

    Später, wenn es um ggf. komplexe Sachen (z.B. GUI Design etc.) geht sind Videos zusätzlich durchaus hilfreich.

    Dann landest du auch nicht auf "dubiosen" Themen, die sich auf Bots spezialisiert haben aber nichts mit dem alltäglichen Programmierungsanwendungen zu tun haben.

  • Ich weiß nicht wieso du diese Meldungen hast bei mir läuft alles, nur nicht so wie ich es haben wollte naja egal.

    Na, dann ist entweder

    • dein Skript nicht mit dem geposteten identisch
    • oder in einem bereits Includeden File die fehlende MsgBoxConstants.au3 included.

    Gut das ausmarkieren der MsgBox hat dieses Problem gelöst.

    Ich hoffe das mit dem icon nur ironisch gemeint o0 ?

    Nein, denn es wird zur Ausführung ja benötigt.

    Eure bedenken kann ich einerseits verstehen das man die Funktionen eben gezielt auf spiele anwendet, das man eine gewisse art misstrauen hat, anderer seits wen man als Anfänger anfangt wird man mit den Funktionen SEHR schnell konfrontiert.

    Diese Funktionen sind für die Automatisierung von Anwendungen nur allerletzte Wahl. Zum üben mit Timern und GUI kannst du dich ja an einer Stopuhr versuchen. Von den gefühlten 1000 sind ja mind. schon 900 durch diverse Forenupdates verloren gegangen.

    mfg (auto)Bert