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. BugFix

Beiträge von BugFix

  • Pfad in neuem Tab öffnen

    • BugFix
    • 8. März 2024 um 20:25
    Zitat von OhnePlan

    keiner eine Idee?

    Ich hab mal versucht in der Doku was zu finden - erfolglos. Wahrscheinlich wird das erst später (oder nie) veröffentlicht, vorausgesetzt es ist überhaupt möglich.

  • Pfad in neuem Tab öffnen

    • BugFix
    • 5. März 2024 um 11:13
    Zitat von OhnePlan

    Musst halt für die unterschiedlichen Ordnertypen einmal machen.

    Das hatte ich schon versucht - aber wie ich jetzt bemerkte, war mein Fehler, dass ich über die Bibliotheken zugegriffen habe. Und da ist die Schaltfläche deaktiviert. Man muss sich über den Pfad C:\Users\USERNAME\Pictures reinhangeln - erst dann kann man die Einstellungen übernehmen.

  • Pfad in neuem Tab öffnen

    • BugFix
    • 5. März 2024 um 09:25
    Zitat von OhnePlan

    Ich meine seit Windows 11 23H2

    Tatsächlich. :D - Da ich auch das dunkle Thema verwende, sieht man das auf den ersten Blick gar nicht. Ob nützlich oder nicht ist wohl Geschmackssache.
    Da wird immer so viel gebastelt - aber nach wie vor ist es unmöglich für den Explorer eine Standardansicht einzustellen, die für JEDEN Ordner gilt. Ich möchte z.B. immer Listenansicht, alles andere ist für mich wenig übersichtlich. Aber das kann ich einstellen, so oft ich will - im Ordner Bilder werden z.B. immer Symbole angezeigt.

  • Pfad in neuem Tab öffnen

    • BugFix
    • 4. März 2024 um 21:05
    Zitat von OhnePlan

    Keiner eine Idee?

    Ich stolpere über dein "Tab". Ich hab beim Explorer noch nie Tabs gesehen. :/

  • Welches Event bei Win11 Fenster teilen?

    • BugFix
    • 3. März 2024 um 16:44
    Zitat von Schnuffel

    Die für dich einfachste Lösung wäre _WinAPI_SetParent().

    :Face::Face::Face:- In einem anderen Projekt nutze ich das seit Jahren. Aber irgendwas hat mich hier geritten, das in das Originalfenster zeichnen zu Wollen. :rofl:

    Na, dann werde ich das mal damit umsetzen - Danke für's "Aufwecken". 8o

  • Welches Event bei Win11 Fenster teilen?

    • BugFix
    • 29. Februar 2024 um 11:30

    Ich habe jetzt den Code mal etwas verschlankt und mehr strukturiert (vermeide u.A. Mehrfachberechnungen von unveränderlichen Werten).
    Jetzt funktioniert das Neuzeichnen nach dem "PopupHost"-Event auch. Nur nach Resizing und Maximize mit Doppelklick muss noch per Mausklick ins Fenster aktiviert werden.

    Die Klicks auf die Icon werden jetzt auch ausgewertet. Das erste Icon öffnet die Git-Gui, falls nicht vorhanden wirds da einen Fehler geben.

    Dateien

    Draw_SciTE.zip 31,19 kB – 164 Downloads
  • Welches Event bei Win11 Fenster teilen?

    • BugFix
    • 28. Februar 2024 um 09:45
    Zitat von Schnuffel

    brauche dazu aber deinen code

    So, aber jetzt.

    In der zip ist der Code mit Unterverzeichnis ico aus dem die Icon geladen werden. Das Skript bringt beim Start 2 Icon zur Anzeige. Hier das Verhalten bei den Events:

    Event

    Neu Zeichnen Icon

    RESTOREerst nach Klick ins Fenster sichtbar
    MAXIMIZE Titelleiste Dialog-ButtonOK
    MAXIMIZE Titelleiste DblClickerst nach Klick ins Fenster sichtbar
    SIZINGOK
    PopupHost - Dialogerst nach Klick ins Fenster sichtbar

    In den Funktionen zum Zeichnen von Status-Icon (#140) und Counter-Icon (#155) setze ich zum Abschluss den Fokus auf das SciTE Fenster, was jedoch nicht denselben Effekt hat, wie ein Klick ins Fenster. Da bei einem weiteren Arbeiten in SciTE sowieso ins Fenster geklickt werden muss, ist das jetzt nicht wirklich dramatisch - nur unschön.
    Ich hatte auch probiert WinActivate zu verwenden nach dem Schließen des PopupHost, leider auch wirkungslos.

    Dateien

    Draw_SciTE.zip 33 kB – 265 Downloads
  • Welches Event bei Win11 Fenster teilen?

    • BugFix
    • 26. Februar 2024 um 21:41
    Zitat von Schnuffel

    brauche dazu aber deinen code

    Bin nicht mehr am Rechner, morgen wieder.

  • Welches Event bei Win11 Fenster teilen?

    • BugFix
    • 26. Februar 2024 um 19:56
    Zitat von Schnuffel

    aber wenn du mein erstes Script anwendest, dann kannst du doch den WinTitle und die HexCodes extrahieren und danach filtern.

    Ja klar, habe ich jetzt auch so implementiert:

    AutoIt
    Func _WinEventProc($_hHook, $_iEvent, $_hWnd, $_idObject, $_idChild, $_iEventThread, $_iEventTime)
    	Local $PID = WinGetProcess($_hWnd), $sEventProcName = _ProcessGetName($PID)
        Select
            Case $sEventProcName = 'SciTE.exe'
                _CheckSciTE()   ; SciTE Handles lesen, Variablen setzen, Prüfung Größenänderung
            Case WinGetTitle($_hWnd) = 'PopupHost' And _WinAPI_GetClassName($_hWnd) = 'Xaml_WindowedPopupClass'
                _ReDraw(True)   ; ohne jede Prüfung neu zeichnen
        EndSelect
    EndFunc

    Das funktioniert soweit auch. Aber für PopupHost muss ich auf Verdacht immer neu zeichnen, da sich eine Relation zu SciTE für mich nicht sicher herstellen lässt.

    Nur ein Verhalten ist seltsam:
    Bei Events: RESTORE und PopupHost erfolgt das Neuzeichnen erst, wenn ich den Fokus auf das SciTE-Fenster durch Mausklick aktiviere. Ein _WinAPI_SetFocus($gm_SciTE.hWnd) ist erfolglos.

  • Welches Event bei Win11 Fenster teilen?

    • BugFix
    • 26. Februar 2024 um 12:04
    Zitat von Schnuffel

    ich hab mir mit obigen funktion die WindowTitle mit ausgegeben .

    Jo, damit gehts (CLASS ist übrigens: Xaml_WindowedPopupClass )

    Aber keine Chance mit den Standardfunktionen, für die ist das Fenster unsichtbar. :(

  • Welches Event bei Win11 Fenster teilen?

    • BugFix
    • 26. Februar 2024 um 11:13
    Zitat von Schnuffel

    Der WinTitle für diese neue Win11-Funktion der Fenster Größenänderung ist: "PopupHost"

    Woher hast du den? Taucht bei mir nicht auf, weder mit WinList noch WinExists zu finden. :/

  • Richtig debuggen?

    • BugFix
    • 26. Februar 2024 um 09:05

    Ich bin da voll bei Andy. In meinem Firmenumfeld genieße ich den Vorteil, dass ich als einziger im EDV-Bereich agiere und auch Programme für die Firma schreibe. Da ich mit allen Arbeitsgängen vertraut bin, kann ich aus der Sicht des Anwenders programmieren.
    Bsp.
    Unsere Fa. ist recht klein und sämtliche Buchhaltung geht über ein Steuerbüro. Wir erstellen nur Ausgangsrechnungen und registrieren Zahlungseingänge. Über viele Jahre wurden immer zusätzliche Kopien der Rechnungen ausgedruckt und am Monatsende zum Steuerbüro gebracht. Die durften den Kram (ca. 300-500 Rechnungen pro Monat) dann händisch erfassen.
    Ich hab dann mal angefragt, ob deren DATEV-Programm auch den Import von Daten ermöglicht und in welcher Form das sein müsste.
    Nach den Anforderungen habe ich dann ein SQL-Query erstellt, zum Export der Monats-RE in eine dbf-Datei. Diese habe ich dann (natürlich mit AutoIt ;) ) in die DATEV-importierbare Form gegossen.
    Um hier Fehler auszuschließen, habe ich auch gleich im Vorfeld nach möglichen variablen Größen gefragt und diese dann über eine INI festgelegt.
    Das sind z.B. bei vereinzelten Kunden abweichende Werte: KDNr=Buchungskonto;Steuersatz
    Das läuft jetzt schon ca. 10 Jahre und hat bestimmt einigen Bäumen das Leben gerettet. :)

  • SciTE-Tutorial

    • BugFix
    • 20. Februar 2024 um 13:06
    Zitat von PSblnkd

    Meinst Du damit die mit "ToolbarWindow32" benannte, oder die Menüs im "SciTEWindow"?

    Ich hab doch extra alle erreichbaren Fensterklassen aufgezählt ("ToolbarWindow32" gehört dazu). Die Menüleiste, wenn du nicht die Lokalisierungsdatei eingefügt hast, sieht das, wie von dir benannt aus:

    Zitat von PSblnkd

    In meiner SciTE-Version 1.79 sieht das zwar etwas anders aus: "File | Edit | Search | View | Tools | Options | Language | Buffers | Help"

    - gehört nicht zu den erreichbaren Fensterklassen.

    Zitat von PSblnkd

    Wenn ich das richtig verstanden habe, müßte das Basis-Programm "SciTE" mit entsprechenden Ergänzungen nach dem Muster "SciTE_Starter.au3" -> https://github.com/BugFix/AutoIt-…iTE_Starter.au3 in eine neue exe gebracht werden, um dann als angepasste Version z.B. als "SciTE_spez.exe" verwendet werden zu können.

    Das könnte man machen - alle Änderungen in der Source vornehmen und ein eigenes SciTE kompilieren. Aber das ist für mich nicht praktikabel.
    Ich versuche lieber AddOns zu erstellen, die zusätzliche Funktionalität für die von den meisten Usern genutzte SciTE-Version bringt, aber eben nur wenn jemand dies explizit möchte auch aktiviert wird.
    Ein direkter Eingriff in die Menüleiste ist daher nicht realisierbar.

    Aber auch die greifbaren Fenster haben ihre Tücken. Du kannst z.B. mit der Toolbar-UDF aus AutoIt einen eigenen Button hinzufügen - aber den bekommst du nur beim Drüberfahren mit der Maus in Umrissen zu sehen und nach dem Neuzeichnen des SciTE Fensters ist er kpl. verschwunden. Man müsste wohl Prepaint und Postpaint Events abfangen und ein Neuzeichnen initialisieren. Da habe ich mich jetzt aber noch nicht reingekniet.

    Meine SciTE_Starter.au3 ist eigentlich nur eine Hilfe, um verschieden SciTE-Varianten auszuprobieren ohne sich dabei die SciTEUser.properties zu zerschießen (Es gibt nur einen Pfad für diese Datei, der von jeder (installierten) SciTE-Variante/Version genutzt wird.)

  • run mit start und Anfführungszeichen

    • BugFix
    • 14. Februar 2024 um 09:30
    Zitat von SOLVE-SMART

    ja hört sich nach einem Kontext der ersten Schreibmaschinen an

    Kann auch eine Fehlerinnerung sein, aber ich meine auch diesen Begriff in meinem Schreibmaschinenkurs (vor 45 Jahren) gehört zu haben. ;)

  • Welches Event bei Win11 Fenster teilen?

    • BugFix
    • 10. Februar 2024 um 15:00
    Zitat von Schnuffel

    ich hab mal ein wenig mit diesem "hook" Zeug rumgespielt.

    Danke dir, werde ich mir mal zu Gemüte führen.

  • Bitte mal testen mit echtem Netzlaufwerk

    • BugFix
    • 8. Februar 2024 um 22:48

    Ich hatte ganz vergessen, dass ich ja bei meinem Internet Provider einen Onlinespeicher habe. Darauf habe ich mal ein Netzlaufwerk eingerichtet, ergibt dann \Device\1&1MiniRdr\;O:1\1&1\SmartDrive.

  • Bitte mal testen mit echtem Netzlaufwerk

    • BugFix
    • 8. Februar 2024 um 21:38
    Zitat von AspirinJunkie

    Exakt

    Vielen Dank für Deine Mühe.

    Und jetzt genieße die Jeckenzeit oder geh ins Exil (je nachdem, wo du dich verortest - ich definitiv bei Letzterem :rofl:)

  • Bitte mal testen mit echtem Netzlaufwerk

    • BugFix
    • 8. Februar 2024 um 21:31
    Zitat von AspirinJunkie

    Ok bei einem tatsächlichen Netzlaufwerk (auf nen Samba-Server) bei mir bringt mir deine Funktion das:

    Wäre das dann in der direkten Adressierung \\nas.lan\adm ?

  • Bitte mal testen mit echtem Netzlaufwerk

    • BugFix
    • 8. Februar 2024 um 21:14
    Zitat von AspirinJunkie

    Nur eine Vermutung: Wenn du ein Netzlaufwerk eingerichtet hast, dann gilt das erst einmal nur für den User.

    Stimmt genau, habe gerade mal eine Admin-Konsole geöffnet und versucht in das Laufwerk zu wechseln - wird nicht gefunden.

    Das erklärt mir also warum das so ist. Zumindest kann ich das ja mit der Funktion aufdröseln.

    Für mich war jetzt nur von Interesse, was passiert, wenn eine tatsächliche Netzlaufwerksverknüpfung durch _WinAPI_QueryDosDevice geschleust wird. Ich vermute mal ähnlich wie \Device\LanmanRedirector\;F:000000000009882e\localhost aber eben nicht mit localhost als Fortführung.

  • Bitte mal testen mit echtem Netzlaufwerk

    • BugFix
    • 8. Februar 2024 um 20:19

    Hi,

    wie ich feststellen musste, kommen nicht alle Programme mit Netzlaufwerksverknüpfungen auf lokale Ordner klar.
    Ich habe z.B. gemappt: C:\Users\BugFix\Documents\_F auf Laufwerk F:

    Ich habe mir nun eine Funktion erstellt, die den korrekten Pfad zurück gibt.

    Habe leider keine echten Netzlaufwerke zum Testen, was dabei raus kommt. Wenn ihr bitte mal probieren könnt.

    EDIT: Die Funktion ist jetzt so geändert, dass (hoffentlich) alle Mappings aufgelöst werden können.

    AutoIt
    #include <WinAPIFiles.au3>
    
    ; #FUNCTION# =======================================================================================
    ; Name ..........: _PathGetUnmapped
    ; Description ...: Resolving network links in paths to absolute paths
    ; Syntax ........: _PathGetUnmapped($_sPath)
    ; Parameters ....: $_sPath              - The path to be checked.
    ; Return values .: The resolved path or the original path.
    ; Author ........: BugFix
    ; Remarks .......: Requires <WinAPIFiles.au3>
    ; ==================================================================================================
    Func _PathGetUnmapped($_sPath)
        If StringLeft($_sPath, 2) = '\\' Then Return $_sPath    ; qualified network path
        Local $aPath = StringRegExp($_sPath, '([A-Za-z]:)(.+)', 1)
        Local $vReturn = _WinAPI_QueryDosDevice($aPath[0])
        If StringRegExp($vReturn, '^\\Device\\LanmanRedirector') Then
            If StringInStr($vReturn, 'localhost') Then
                $vReturn = StringReplace(StringRegExpReplace($vReturn, '\\Device\\LanmanRedirector\\[^\\]+\\localhost\\', ''), '$', ':')
            Else
                $vReturn = '\' & StringRegExp($vReturn, '(\\Device\\LanmanRedirector\\;[^\\]+)(.+)', 1)[1]
            EndIf
            Return $vReturn & (UBound($aPath) = 2 ? $aPath[1] : '')
        Else
            $vReturn = StringRegExp($vReturn, '(\\Device\\[^\\]+\\;[^\\]+)(\\.+)', 1)
        EndIf
        If IsArray($vReturn) Then
            Return '\' & $vReturn[1] & (UBound($aPath) = 2 ? $aPath[1] : '')
        Else
            Return $_sPath
        EndIf
    EndFunc
    Alles anzeigen

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™