Wechsel zwischen geöffneten Fenstern - Raupi's Script

  • Hi,

    Versuchmal ob es so klappt:

    AutoIt
    Opt("winTitleMatchMode",2)
    $Fenster_aktuell = "[CLASS:Notepad; TITLE:Editor]"
    $Fenster_Handle = WinActivate($Fenster_aktuell)
    ConsoleWrite($Fenster_Handle & @CRLF)
    $Fenster_aktuell = HWnd(0x000654E6)
    $Fenster_aktivieren = WinActivate($Fenster_aktuell)
    ConsoleWrite($Fenster_aktivieren & @CRLF)
    $Fenster_aktivieren = WinActivate($Fenster_Handle)
    ConsoleWrite($Fenster_aktivieren & @CRLF)


    mfg Zeitriss

  • Welches Programm macht solche unmöglichen Ausgaben? SciTE? Viel zu viele Nullen.

    Ja es ist Scite, nutze seit kurzem „ISN Autoit Studio“, gefällt mir sehr gut.

    SciTE
    Version 3.5.4
    Mar 7 2015 14:59:39
    64 bit

    „ISN Autoit Studio“ - 32 bit - weniger Nullen (siehe Beispiele oben)

    Einmal editiert, zuletzt von AutoMit (12. Februar 2016 um 21:36)

  • $Fenster_aktuell = HWnd(0x000654E6)

    wow - Du hast Dir den Pokal des Tages verdient.

    Unter Deinem Avatar steht zwar "Schüler", aber das war meisterlich. Danke :)

    PS: ich weiß zwar immer noch nicht, wieso es bei den anderen auch ohne HWnd klappt - aber egal.


    Nun müssen wir noch noch Raupi's Script aus Post 1 zum Laufen bringen (entsprechend der Ideen aus Post 1).
    Ich weiß, das ist eine zu große Aufgabe. Vielleicht später mal.

    • Offizieller Beitrag

    ich weiß zwar immer noch nicht, wieso es bei den anderen auch ohne HWnd klappt - aber egal.

    Weil man den Rückgabewert von WinActivate verwendet - das ist Datentyp Handle!
    Niemand ist so bekloppt und versucht eine Hexzahl als Handle zu übergeben - denn das ist nun mal nur Datentyp Hexzahl.
    Aus Hex mach Handle mit Funktion HWnd. Das hat nichts mit meisterlich zu tun, sondern mit Hilfe lesen und umsetzen.
    Thats my 2 cents.

  • Das hat nichts mit meisterlich zu tun, sondern mit Hilfe lesen und umsetzen.


    Bugfix, Du weißt nicht, woher ich die Fensterhandle als Liste habe, was ich damit tun möchte und warum das mein einziger Weg ist. Dennoch verurteilst Du mich und beschimpfst mich als "bekloppt".

    Menschen mit Fachwissen, 4000, 9000 Beiträge ... Verletzungen, persönliche Angriffe ... und keine Lösungen, keiner der auf hwnd gekommen ist, keiner, der versteht, warum das Script hier nicht geht, und bei anderen funktioniert.

    Und dann kommt ein Schüler daher, ohne Anfeidungen, ohne Vorwürfe, mit freundlicher Art, der sich dem Problem annimt und eine zielführende Lösung anbietet. Der nicht diskutiert, nicht mein Anliegen in Frage stellt, einfach eine hilfreiche Lösung aus dem Hut zaubert und sie mir zum ausprobieren anbietet.

    Das ist in meinen Augen meisterlich.

    ... in meinen Augen ...

    PS: Habe ich es Dir zu verdanken, dass mein "Status" von "Fortgeschrittener" auf "Anfänger" unter dem Avatar zurückgestuft wurde? Wenn ja - danke. Was Autoit betrifft, bin ich im Vergleich zu Dir ein "Anfänger".

    Einmal editiert, zuletzt von AutoMit (12. Februar 2016 um 22:20)

    • Offizieller Beitrag

    PS: Habe ich es Dir zu verdanken, dass mein "Status" von "Fortgeschrittener" auf "Anfänger" unter dem Avatar zurückgestuft wurde?

    Wie kommst du dadrauf? Übersteigt meine Möglichkeiten.

    Du weißt nicht, woher ich die Fensterhandle als Liste habe, was ich damit tun möchte und warum das mein einziger Weg ist.

    Das ist einer der Hauptgründe, warum hier soviel daneben geht: Fehlende Infos beim Fragestellen. Das Bsp., das du eingestellt hast, gibt darüber keine Auskunft und benötigt die Funktion HWnd daher definitiv nicht. Woher sollen wir riechen, wie du zu deinen Infos kommst.
    Also bevor du hier die beleidigte Leberwurst spielst, wirf mal selbstkritisch einen Blick auf deine Angaben. Dass wir dann irgendwann auch mal genug haben und dann auch die Netiquette flöten geht verwundert nicht.
    Wenn du Zeit hast, lies mal quer durch diverse Threads - du wirst sehen, dass es i.A. hier harmonisch zugeht.

  • Das ist einer der Hauptgründe, warum hier soviel daneben geht:

    Bugfix - an der meisterlichen Antwort des Schülers siehst Du gerade, dass ein zielgerichtetes Beantworten ohne das ständige infrage-stellen etc. zum Ziel führt.

    Ich habe einige hundert Beiträge im Forum gelesen und immer wieder gesehen, dass Leute, die viel erklärt hatten, damit zu kämpfen hatten, dass ihre Absichten infrage gestellt wurden. Und viele schrieben, hätten sie blos nicht so viel erklärt.

    PS: unter meinem Avatar stand eine zeitlang "Fortgeschrittener", scheinbar in Abhängigkeit von der Anzahl der Posts. Heute auch bei anderen gesehen. Wurde zurückgestuft - ist o.k. - muss kein Thema sein.

    Bugfix, Lösungen findet man häufig, wenn man das Problem isoliert betrachtet.

    Viele meiner Beiträge zeigen, ich habe zuviel erklärend geschrieben.

    Andere, die einfach nur kurze Fragen hingeworfen haben, bekamen häufig umfangreiche lauffähige Scripts, unterschiedliche Lösungsansätze. Zwar schrieben die Helfenden, ein paar mehr Infos wären gut, und sie wüssten nicht, ob die Richtung der Scripts stimme. Aber sie gaben Scripts und aus allen war in der Summe eine gute lauffähige Lösung zu bekommen. Ich habe viele meiner Sachen so lösen können, indem ich diese Beiträge gelesen habe.

    Je komplexer und schwieriger ein Thema wurde (siehe G13, Alt tab, Task kill, Zwischenablage Excel Format speichern etc.), um so mehr ging es in die Richtung, wozu brauchst Du das, brauchst Du doch nicht, braucht keiner ...

    Gute Nacht Meister Bugfix.

  • Warum testet niemand mal mein Script?

    Warum schreibt niemand eine Antwort, die er selbst getestet hat?

    Liegt wohl daran, daß du sofort nach Hilfe schreist und sie dann ignorierst.
    Daß zum Zusammenspiel einzelner Funktionen auch eine Portion logisches Denken gehört versteht sich von selbst. Um dieses zu trainieren ist es sehr nützlich verschiedene Scripte anderer Autoren zu analysieren, parallel dazu sollte man dann die Funktionen (Hilfe dazu genau durchlesen) an kleinen Miniskripten testen bis man ein Verständnis dafür hat, was die einzelnen Funktionen bewirken können. Mit der Zeit bekommt man durch das Mitlesen bzw. analysieren heraus wer die üblichen Verdächtigen für die Lösung bestimmter Probleme ist, Paradebeispiel GDI/GDI+ fällt mir sofort UEZ, Eukalyptus, Mars ein. Es gibt sicherlich noch mehr die sich gut damit auskennen. Ich würde aber, sollte ich ein GDI/GDI+ Problem zu lösen haben, zuerst Skripte dieser Autoren herunterladen und analysieren bis das Grundverständnis dafür da ist.
    Bei Listview fallen mir sofort Oscar, BugFix und Kanashius ein. Bei TreeView die gleichen Verdächtigen. Bei Array-Problemen natürlich BugFix. Diese Liste läßt sich noch ewig fortsetzen.

    Wenn man dann eine ausreichende Basis hat kann man sich auch selbst an ein solches Projekt heran trauen.

    Deinen Updateversuch für dieses Skript würde ich nie unternehmen, wenn ich soetwas bräuchte würde ich lieber nur die Idee nehmen und von 0 anfangen zu skripten. Das Skript gehört imho in die Tonne: Ein paar nützliche Funktionen (GetIconfromExe, _GetPathByPid, _Gui_RoundCorners) hat es, diese werden natürlich getestet damit man das Potential erkennt und bei Bedarf verwertet. Wenn du mich jetzt fragst:
    "Und wann habe ich dann noch Zeit um meine Projekte zu verwirklichen?" So laß dir gesagt sein: "Solange du die Basis nicht hast ist es besser du läßt es, denn wer rennen will muß zuerst sicher laufen können.

    Als ich meine 1. Anstellung als Quereinsteiger in der EDV hatte, mußte ich einen Praktikanten bei einem bestimmten Projekt betreuen. Entgegen meiner Bitte hat mein Chef darauf bestanden, daß es in GW-Basic realisiert wird. Ich hatte natürlich meine eigenen Projekte und hab es mir daher relativ einfach gemacht. Ich zeigte im in einer sehr mächtigen Sprache ein fertiges UserInterface und erklärte ihm, daß sein 1. Aufgabe ist sich in GW-Basic die Funktionen zu bauen welche benötigt werden um ein vergleichbares UI zu handlen ohne einen ReDo from Start auszulösen. Da er vorher noch keine einzige Zeile GW-Basic geschrieben hatte, hat er sich logischerweise daran gemacht die Sprache zu erkunden. Nach 4 Wochen war er soweit, daß er wußte welche Befehle er braucht um die 1. Aufgabe zu lösen. Nach der 6. Woche hatte er ein kleines vorgegebenes UI erstellt inkl. Speicherung der Datensätze. Bei den 1. Besprechungen mit dem Kunden war ich natürlich dabei, als gelernter Kaufmann war ich sozusagen der Dolmetscher. Auf Kundenseite war glücklicherweise 1 Frau, die in meiner Lehrzeit stellenweise meine Vorgesetzte war.
    1 Monat vor Ende der 6 Praktikumsmonate war ein kleines funktionales auf den Kunden zugeschnittenes Warenwirtsschaftssystem fertig. In den 5 Jahren die ich es danach noch mitbetreut habe, mußte ich keine einzige Zeile Code ändern. Die einzigen Probleme enstanden durch Stromausfall.
    Was ich dir damit sagen will: mit systematischem Vorgehen und erarbeiten der Grundlagen kommt man zum Ziel, du springst im Moment noch durch zuviele verschiedene Themen ohne diese verstehen zu können, da noch Teile der Grundlagen fehlen.

    mfg autoBert

    • Offizieller Beitrag

    Um das mal aufzuklären, ich habe den Titel geändert. Bis jetzt hast du nur Fragen gestellt und meist ignorierst du die Antworten.
    Von daher Anfänger. Wenn sich das ändert ändert sich auch der Benutzertitel.


    @BugFix, ich war der Chaot der anstatt eines Handles ein einfache Zahl benutzt hat, bei 32 Bit Autoit ist es egal funzt beides.Selbst würde ich im Traum nicht daran denken, ein Handle per Hand einzugeben. Für was gibt es AutoIt? ^^