1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. AutoMit

Beiträge von AutoMit

  • Fenster nicht schließen - nicht minimieren

    • AutoMit
    • 17. Juli 2019 um 12:14
    Zitat von Musashi

    Ja, verwende eine Maus ohne Spezialtasten (nicht böse gemeint) :P.

    Schon mal dran gedacht, dass ich diese Funktion extra auf eine Spezialtaste gelegt habe?

    Der Hersteller der Maus hat nicht vorgesehen, dass die Tasten für bestimmte Fenster deaktiviert werden können. Das wollte ich auf einfachem Wege mit Eurer Hilfe und AutoIt bewerkstelligen.

    ( Edit )

    ... anstelle einer Signatur ...

    Dieses AutoIt-Forum ist ein Glücksspiel.

    Es gibt Themen, bei denen schreibt eine hilfreiche Seele ein top nachvollziehbares Beispiel – häufiger schon selbst erlebt - Danke dafür ! :)
    Oder es gibt kluge Ratschläge ( Nackenschläge ) und Grundsatzdiskussionen abseits vom Thema ... :(
    Es ist und bleibt ein Glücksspiel - mal verliere ich - mal gewinnen die anderen - damit kann ich leben.
    Das Leben hat ein paar existenzbedrohende Nüsse für mich, die ich knacken muss. Jetzt !

    Daher allen einen schönen Sommer und raus.
    Grüner Harken = Escape ( Notausgang ).

  • Fenster nicht schließen - nicht minimieren

    • AutoMit
    • 17. Juli 2019 um 12:06
    Zitat von Carsten

    Und einfach die Spezial-Taste an der Maus deaktivieren

    Mit zunehmenden Alter erkenne ich immer mehr, dass gedachte Erleichterungen oft nur kurzfristig sind, weil sie auch wg. Updates und Änderung von 'außen' gepflegt werden müssen. Sich mit dem 'Standard' zu arrangieren ist dann u.U. langfristig einfacher.

    Ganz im Gegenteil – bei meinem Workflow sind die Maus-Funktionen genial und die kleine Hürde, dass versehentlich ab und zu Fenster geschlossen werden, die dann wieder geöffnet werden müssen, dachte ich mit AutoIt zu umschiffen ( für mich derzeit leider zu kompliziert - Hook ) ... Der Rest sprengt den Rahmen des Themas und wäre der Beginn einer Grundsatzdiskussion, dass eine Pflanze mit 10 Wurzeln entscheiden möchte, dass der Baum mit 1000 Wurzeln auch nur 10 benötigt ( darf ).

    Aktuell dringende Themen zwingen mich hier auszusteigen.

    Allen einen schönen Sommer – viel Vergnügen – grüner Haken gesetzt.

  • Fenster nicht schließen - nicht minimieren

    • AutoMit
    • 17. Juli 2019 um 12:01
    Zitat von BugFix

    Eine einzige Funktion schreiben ( _WindowRegisterStatic) und das gewünschte Verhalten allgemein gültig für das/die registrierten Fenster ausführen (und noch eine zum deregistrieren - _WindowUnRegisterStatic) .

    Einfach, im Sinne von 2..3 Befehle hinklatschen geht hierbei gar nicht. Und richtig funktionierend geht es ausschliesslich, wenn du dich in die Windows-Message Verwaltung einklinkst, also per Hook. Denn andere Anwendungen könnten sonst durch Senden von Nachrichten das Verhalten deiner Fenster beeinflussen. Das kannst du nur kontrollieren, wenn du selbst in der Nachrichtenzentrale sitzt.

    das klingt einleuchtend – übersteigt meine Fähigkeiten

    Ich begebe mich auf die Suche nach verständlich dokumentierten Beispielen zum Thema „Windows-Message Verwaltung einklinken - Hook.“

    Wer ein Beispiel hat – bitte hier in das Thema mit einfügen.

    Thema auf Grün gesetzt, da dass Suchen und Testen viel Zeit in Anspruch nimmt.

  • Fenster nicht schließen - nicht minimieren

    • AutoMit
    • 16. Juli 2019 um 16:58
    Zitat von alpines

    Nimm die Hookvariante, dann lernst du auch ein bisschen was über WindowMessages.

    Das ist mir im Moment zu zeitaufwendig - eine Arbeit für mehrere Tage ( kollidiert mit wichtigen Terminen ).

    Mal neben dem Weg gedacht .... Fenster werden mit strg + F4 geschlossen, alle Fenster werden mit win + m miniert ...

    Was haltet Ihr von folgender Möglichkeit, die Hotkeys in Schleife abzufangen und wenn z.B. Notepad im Vordergrund ist, wird der Hotkey "win + m" ignoriert, ansonsten durchgelassen?

    Wäre das eine sinnvolle Idee?

  • Fenster nicht schließen - nicht minimieren

    • AutoMit
    • 16. Juli 2019 um 14:47
    Zitat von alpines

    Du musst dich dafür in die WindowProc reinhooken und die Events dann dementsprechend abfangen.

    https://www.autoitscript.com/autoit3/docs/l…tWindowLong.htm $GWL_WNDPROC

    Hallo Alpines

    meinst Du sowas wie hier?

    Maximieren Button "missbrauchen"?

    Maximieren Button "missbrauchen"?

    Falls ja, das ist atemberaubend kompliziert.

    Gibt es auch einfachere Varianten für mein Ziel?

  • Fenster nicht schließen - nicht minimieren

    • AutoMit
    • 16. Juli 2019 um 14:29

    Hallo Musash, die Erklärung ist ganz einfach. Auf der Maus habe ich eine Taste, mit der ich beliebige Fenster schließen kann. Es gibt wenige Ausnahmen, wo einen Fenster fehlerhafterweise den Fokus hat und dann ist das Fenster schneller zu, als gewollt. Es gibt bestimmte Fenster, die sollen den kompletten Tag über geöffnet bleiben und auch nicht minimiert werden.

    Daher suche ich dafür eine Lösung.

    zusammengefasst für ein Fenster

    nicht minimieren

    nicht schließen

    keine Änderung der Größe und der Position

  • Fenster nicht schließen - nicht minimieren

    • AutoMit
    • 16. Juli 2019 um 11:08

    Hallo,

    Lösung für Notepad, Word und Excel gesucht

    Bestimmte Fenster sollen nie auf die Befehle „(alles) minimieren“ bzw. „schließen ( Hotkey oder Mausklick Kreuz)“ reagieren.

    Wie erreiche ich dieses Ziel?

    Welches AutoIt-Skript kann im Hintergrund laufen lassen, was diese Befehle abfängt?

    Gibt es dafür ein fertiges Beispiel?

    Wie überwache ich einen Fenster dauerhaft, ob es den Befehl „minimieren“ bzw. „schließen“ erhält und wenn ja, wie fange ich diesen Befehl ab?

    Gibt es noch einen anderen Lösungsansatz?

    Hier geht es ausschließlich um Fenster, die nicht in AutoIt programmiert wurden.

    Danke :)

  • _FileListToArrayRec - mehrere Erweiterungen

    • AutoMit
    • 24. April 2019 um 10:16

    Vielen Dank Musashi - grünen Haken gesetzt :)

  • _FileListToArrayRec - mehrere Erweiterungen

    • AutoMit
    • 12. April 2019 um 16:42

    Danke – stimmt – ich habe an der falschen Stelle geschaut ( bei den Beispielen und unter Bemerkungen ).

    „Filter für das Ergebnis- Mehrere Filter müssen mit einem ; getrennt werden“

    Das eigentliche Problem besteht noch:

    "Ziel: ein Array mit allen *.txt und *.doc Dateien, alphabetisch nach Dateinamen sortiert."

    Ich gehe durch ein Verzeichnis mit vielen Unterverzeichnissen.

    als Liste erhalte ich zeilenweise Verzeichnisname und Datei als Array - beispielsweise

    Test 1\z.txt

    Test 9 mal an\Unterverzeichnis_x\a.doc

    richtig sortiert nach Dateiname

    Test 9 mal an\Unterverzeichnis_x\a.doc

    Test 1\z.txt

    Wie kann ich das Array so umsortieren, dass es nach dem Dateinamen sortiert ist?

    _FileListToArrayRec erzeugt als Ergebnis Pfade und Dateinamen in jeweils einem Datensatz ( einer Zeile )

    Was wäre der einfachste Weg zur Sortierung nach Dateiname innerhalb des Arrays?

    Oder wird eine Hilfskonstruktion benötigt?

  • _FileListToArrayRec - mehrere Erweiterungen

    • AutoMit
    • 12. April 2019 um 16:14

    Hallo,

    (A) kann ich mit dem Befehl _FileListToArrayRec in einer Zeile nach *.txt und *.doc und ggf. noch weiteren Erweiterungen / Dateien suchen?

    Bisher nutze ich:

    $aArray_1 = _FileListToArrayRec ( $Quellverzeichnis , "*.txt ", $FLTAR_FILES, $FLTAR_RECUR , $FLTAR_SORT )

    $aArray_2 = _FileListToArrayRec ( $Quellverzeichnis , "*.doc ", $FLTAR_FILES, $FLTAR_RECUR , $FLTAR_SORT )

    (B) Was ist der einfachste Weg, um aus 2 Arrays 1 sortiertes Array zu machen, wenn die interne Struktur wie im obigen Beispiel indentisch ist?

    ( also sowas wie $aArray = $aArray_1 + $aArray_2 )

    Ziel: ein Array mit allen *.txt und *.doc Dateien, alphabetisch nach Dateinamen sortiert.

    Danke :)

  • Quoted-Printable Kodierung zu UTF-8 konvertieren (St=C3=B6rung - Störung)

    • AutoMit
    • 22. Februar 2019 um 16:46

    Besten Dank Musashi.

  • Quoted-Printable Kodierung zu UTF-8 konvertieren (St=C3=B6rung - Störung)

    • AutoMit
    • 22. Februar 2019 um 13:28

    Hier ist ja noch einmal richtig Leben reingekommen, nachdem ich den grünen Haken bereits gesetzt habe.

    Ja, es ist richtig, die „verstümmelte“ Zeile entsteht, wenn aus speziell kodierten E-Mails etwas aus dem Quelltext kopiert wird.

    Das habe ich erst heute erfahren, da ich die eingangs zitierte Quelle von einem Bekannten erhalten habe, mit der Bitte, wie man das automatisch in eine lesbare Zeichenkette umwandeln kann.

    Mit dem Tipp von alpines konnte für die wenigen Zeichen sehr einfach eine „Übersetzung“ erstellt werden, sodass das Problem in Beitrag vier als gelöst gesetzt werden konnte.

    Danke :)

  • Quoted-Printable Kodierung zu UTF-8 konvertieren (St=C3=B6rung - Störung)

    • AutoMit
    • 19. Februar 2019 um 20:18

    PS: Die Tabelle von Dir ist hilfreich - grüner Haken gesetzt :)

  • Quoted-Printable Kodierung zu UTF-8 konvertieren (St=C3=B6rung - Störung)

    • AutoMit
    • 19. Februar 2019 um 20:06

    oh - das hätte ich nicht gedacht

    Wäre glatt davon ausgegangen, dass es dafür bereits eine UDF oder einen Befehl gibt.

    Danke.

  • Quoted-Printable Kodierung zu UTF-8 konvertieren (St=C3=B6rung - Störung)

    • AutoMit
    • 19. Februar 2019 um 19:40

    Hallo,

    in einer Variablen habe ich die Zeichenkette "St=C3=B6rung".

    Wie lautet die Funktion in AutoIt, die daraus "Störung" macht?

    Danke :)

  • Array - _ArrayInsert - Bitnugger

    • AutoMit
    • 14. Oktober 2018 um 14:19

    Vielen Dank Euch zwei.

    Problem gelöst und grünen Haken gesetzt :)

  • Array - _ArrayInsert - Bitnugger

    • AutoMit
    • 14. Oktober 2018 um 14:07

    Danke :)

    Ich versuche die beiden Beispiele zu verstehen.

    Variante 1 - While

    Weißt Du , warum bei einer For-Schleife der Ausdruck in der For-Schleife nicht aktualisiert wird, während bei einer While-Schleife der Ausdruck bei jedem Durchlauf aktualisiert wird?

    Details

    Interessant - bei einer While Schleife wird vor Ausführung der Wert "UBound($aFile)" aktualisiert.

    Getestet mit

    $max = UBound($aFile) = 879 in diesem Beispiel

    Bei einer For Schleife wird "UBound($aFile)" nicht aktualisiert.

    Daher

    $max = UBound($aFile) = 659 in diesem Beispiel

    => und da sind die fehlenden 220 Elemente :)

    Variante 2

    Array rückwärts - bei mir tritt ein kleiner Fehler auf. Bei Dir auch?

    Edit: Danke Bitnugger für Deine Zeilen drüber ( das scheint die Erklärung zu sein )

    "

    ; Aber Achtung...

    ; denn steht der gesuchte String in der letzten Zeile des Arrays, wird kein '# 2a' eingefügt, weil _ArrayInsert hier versagt...

    "

    Beim letzte Arraywert "#Region 440" wird kein "Test 440" drunter geschrieben.

    Wie wird dieser Wert ( letzte Zeile im Array ) auch berücksichtigt?

    Das Script beginnt mit 439 statt 440

    @@ Debug(26) : $i = 439

    So gehts nicht

    ;~ For $i = UBound($aFile) To 0 Step -1 ; Fehler

    ;~ For $i = UBound($aFile) -1 To -1 Step -1 ; Fehler

  • Array - _ArrayInsert - Bitnugger

    • AutoMit
    • 14. Oktober 2018 um 13:27
    Zitat von alpines

    Also entweder eine While-Schleife nehmen oder du gehst das ganze von hinten durch, dann bleiben die Arrayindizes nämlich nach vornehin konsistent.

    Magst Du dafür je ein kurzes Beispiel schreiben? Ich habe für beide Varianten "While" und "rückwärts" keine Idee, wie ich das auf das obige Beispiel anpasse.

  • Array - _ArrayInsert - Bitnugger

    • AutoMit
    • 14. Oktober 2018 um 13:21

    Wie kann ich das innerhalb der Schleife aktuell halten? Das ist der Kern meiner Frage aus dem ersten Beitrag – steht allerdings ganz am Ende :)

    Code
    For $i = 0 To UBound($aFile) - 1 Step 1
            If StringLeft ( ($aFile[$i]) , 8 ) = '#Region ' Then
                _ArrayInsert ( $aFile, $i + 1, "Test " & StringRight ( $aFile[$i] ,  StringLen ( $aFile[$i]  ) -8  )  )
                $i  += 1
            EndIf
    Next

    Ich hoffte, dass es durch Deine eingefügte Zeile „$i += 1“ korrigiert ist. Aber diese Zeile ist wohl nur dafür da, um die nächste richtige Zeile in der IF-Abfrage zu bearbeiten.

    Wie berücksichtige ich in der FOR-Schleife das vergrößerte Array?

    PS: Du warst schneller :) Ich schaue es mir gleich an.

    PS 2: Danke für den Tipp mit den Klammern, stimmt - hatte ich beim Reduzieren des Codes fürs Forum übersehen.

  • Array - _ArrayInsert - Bitnugger

    • AutoMit
    • 14. Oktober 2018 um 13:08

    Danke Alpines, in meinem Script funktioniert das nicht. Ab Zeile #Region 221 wird nichts mehr ins Array eingefügt. Habe ich noch was übersehen?

    Hier der Code

    Forum - Array.au3

    Testdatei Regionen.au3

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™