• 1. in _Update muss es
    If IsArray($temp) Then
    rein. (Ansonsten Zugriff eine Variable im ArrayKontext --> Fehler

    2. in _GetDrives muss ebenfalls
    If IsArray($aRemDrive) then $aRemDrive = $aRemDrive[0]
    rein. (Ansonsten Zugriff eine Variable im ArrayKontext --> Fehler

    3. Removable Drive entfernt, Anzeige wird nicht aktualisiert.


    Zu 1 und 2, Ja änder ich gleich.
    zu 3: wird standardmäßig alle 5 Sekunden aktualisiert. Hast du auch so lange gewartet?

  • Wo wird denn die Grafik nicht entfernt?
    Also. in der GUI ist bei mir kein Icon mehr zu sehen.
    Changelog:

    Code
    -Zugriff auf eine Variable im ArrayKontext --> Fehler ($temp, $aRemDrives)
    Spoiler anzeigen
    Code
    ============= SpaceBar =============
    ------------------------------------
    Version: 3.4.0.2
    Copyright: Ritzelrocker04, Xenobiologist, Oscar and Prog@ndy
    Language: German (Deutsch)
    Compiled by: Prog@ndy
    AutoIt Version: 3.2.8.1
    • Offizieller Beitrag

    @Prog@andy: Super! Refresh jetzt ohne Neustart und USB-Stick etc. wird automatisch erkannt. Was mich noch störte, war der Refresh selbst. Die GUI zappelte wild rum. Das habe ich jetzt mal behoben. Mir fiel auf, dass ich ja nur mein CDROM-Refresh etwas verändern musste und schon spart man etwas ein. Außerdem habe ich das GUI-Fenster während des Refresh mal auf HIDE geschaltet. So ist nur ein kurzes aufblinken des Fenster zu sehen.
    Deine Idee mit dem Explorer finde ich ebenfalls große Klasse. :thumbup:

    Achja, es gab noch ein Problem mit dem Optionen-Fenster. Hatte ich bei der Umstellung auf OnEventMode nicht dran gedacht. -> Behoben.

    • Offizieller Beitrag

    Irgendwie wird das hier zum Dauerbrenner. :D

    Mir ist aber noch was eingefallen:

    - Alle 'REMOVABLE' (USB-) Laufwerke lassen sich jetzt mit einem Rechtsklick auf das Laufwerksicon über 'Datenträger abmelden' sicher entfernen. Dazu benutze ich das Programm 'EjectMedia.exe' (Freeware) von Uwe Sieber.

    Der Vorteil bei diesem Programm ist der, dass bei einem Multi-Cardreader nicht der gesamte Cardreader abgemeldet wird (wie bei 'Hardware sicher entfernen' unter Windows), sondern nur die entsprechende Speicherkarte.

    • Offizieller Beitrag

    Hi,

    die Doppelpunkte passen sich nicht mit an. Vielleicht möchtest du ja noch dies einbauen:

    Spoiler anzeigen
    [autoit]

    ;CONSTANTS
    Global Const $AW_FADE_IN = 0x00080000;fade-in
    Global Const $AW_FADE_OUT = 0x00090000;fade-out
    Global Const $AW_SLIDE_IN_LEFT = 0x00040001;slide in from left
    Global Const $AW_SLIDE_OUT_LEFT = 0x00050002;slide out to left
    Global Const $AW_SLIDE_IN_RIGHT = 0x00040002;slide in from right
    Global Const $AW_SLIDE_OUT_RIGHT = 0x00050001;slide out to right
    Global Const $AW_SLIDE_IN_TOP = 0x00040004;slide-in from top
    Global Const $AW_SLIDE_OUT_TOP = 0x00050008;slide-out to top
    Global Const $AW_SLIDE_IN_BOTTOM = 0x00040008;slide-in from bottom
    Global Const $AW_SLIDE_OUT_BOTTOM = 0x00050004;slide-out to bottom
    Global Const $AW_DIAG_SLIDE_IN_TOPLEFT = 0x00040005;diag slide-in from Top-left
    Global Const $AW_DIAG_SLIDE_OUT_TOPLEFT = 0x0005000a;diag slide-out to Top-left
    Global Const $AW_DIAG_SLIDE_IN_TOPRIGHT = 0x00040006;diag slide-in from Top-Right
    Global Const $AW_DIAG_SLIDE_OUT_TOPRIGHT = 0x00050009;diag slide-out to Top-Right
    Global Const $AW_DIAG_SLIDE_IN_BOTTOMLEFT = 0x00040009;diag slide-in from Bottom-left
    Global Const $AW_DIAG_SLIDE_OUT_BOTTOMLEFT = 0x00050006;diag slide-out to Bottom-left
    Global Const $AW_DIAG_SLIDE_IN_BOTTOMRIGHT = 0x0004000a;diag slide-in from Bottom-right
    Global Const $AW_DIAG_SLIDE_OUT_BOTTOMRIGHT = 0x00050005;diag slide-out to Bottom-right
    Global Const $AW_EXPLODE = 0x00040010;explode
    Global Const $AW_IMPLODE = 0x00050010;implode

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAnimate($v_gui, $i_mode, $i_duration = 1000)
    If @OSVersion = "WIN_XP" OR @OSVersion = "WIN_2000" Then
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", WinGetHandle($v_gui), "int", $i_duration, "long", $i_mode)
    Local $ai_gle = DllCall('kernel32.dll', 'int', 'GetLastError')
    If $ai_gle[0] <> 0 Then
    SetError(1)
    Return 0
    EndIf
    Return 1
    EndIf
    EndFunc;==> _WinAnimate()

    [/autoit] [autoit][/autoit] [autoit]

    ;#cs DEMO - For lazy guys like me - to copy paste
    $hwnd = GUICreate("AnimateWindow - Demo", 300, 300)
    _WinAnimate($hwnd, $AW_FADE_IN)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_FADE_OUT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_SLIDE_IN_LEFT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_SLIDE_OUT_LEFT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_SLIDE_IN_RIGHT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_SLIDE_OUT_RIGHT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_SLIDE_IN_TOP)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_SLIDE_OUT_TOP)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_SLIDE_IN_BOTTOM)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_SLIDE_OUT_BOTTOM)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_DIAG_SLIDE_IN_TOPLEFT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_DIAG_SLIDE_OUT_TOPLEFT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_DIAG_SLIDE_IN_TOPRIGHT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_DIAG_SLIDE_OUT_TOPRIGHT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_DIAG_SLIDE_IN_BOTTOMLEFT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_DIAG_SLIDE_OUT_BOTTOMLEFT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_DIAG_SLIDE_IN_BOTTOMRIGHT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_DIAG_SLIDE_OUT_BOTTOMRIGHT)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_EXPLODE)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    Sleep(1500)
    _WinAnimate($hwnd, $AW_IMPLODE)
    ConsoleWrite('er: ' & @error & @LF & 'ex: ' & @extended & @CRLF)
    ;#ce

    [/autoit]

    So long,

    Mega

    • Offizieller Beitrag

    Ah, stimmt! Doppelpunkt-Aktualisierung eingebaut. :)

    Die FadeIn/-Out Funktion ist ja ne geile Sache, aber es gibt dabei ein Problem. Nach dem ausfaden und wieder einfaden sind alle Progressbars weg.

    Screenshot:
    rekursiv_filelist.au3

    Außerdem verschwindet das Fenster ja völlig (keine graue Leiste mehr).

    • Offizieller Beitrag

    Ich habe das ein-/ausfaden jetzt mit AutoIt-Bordmitteln gemacht. Sieht auch recht gut aus. :)

    Außerdem habe ich die aktualisierung (AdlibEnable) ausgeschaltet, während das Fenster nicht zu sehen ist.

    Womit wir dann bei Version 3.4.0.5 angelangt sind. :D

    • Offizieller Beitrag

    Nunja, es stört mich nicht, dass man es nur rechts andocken kann. Genaugenommen will ich das ja auf der Seite haben. :)

    Vielleicht könnten sich diejenigen, die das Tool ebenfalls einsetzen, mal melden und schreiben, ob sie es lieber links haben wollen.

    Was schwebt Dir denn an weiteren Informationen vor, die man noch einbauen könnte?

    • Offizieller Beitrag

    @Xeno: Ach nee, so stelle ich mir das Tool nicht vor. Es sollte schon im Rahmen bleiben.

    Ich habe aber das Tool noch etwas erweitert. Es gibt jetzt für jedes Laufwerksicon ein ContextMenu mit einem Eintrag 'Datenträger-Informationen'. Bei Auswahl öffnet sich ein Zusatzfenster mit Informationen (was AutoIt halt so bereit stellt) über den ausgewählten Datenträger.

    So langsam sollte ich mal eine Bedienungsanleitung schreiben. ;)

    Version 3.4.0.6

    • Offizieller Beitrag

    Auch heute gibt es eine neue Version. :D

    Änderungen (Version 3.4.0.7):

    - Das 'X' zum Schliessen des Fensters ist jetzt ein Bild (sieht schöner aus)
    - Das Fenster 'Datenträger-Informationen' wird jetzt ebenfalls ein-/ausgeblendet
    - Und es gibt zwei neue Einträge bei den Datenträger-Informationen:
    1. Clustergröße
    2. Gerätename

    Den 2. Punkt bezeichne ich mal als experimentell, da ich zum ersten Mal mit Scriptomatic gearbeitet habe. Bei mir funktioniert das Ganze super. Würde mich aber interessieren, ob das bei euch auch so ist.

  • hallo,

    gibt es noch eine version der slidebar, wo man sich eigene programmverknüpfungen erstellen kann? so als schnellstart, ähnlich den desktopverknüpfungen?

    danke ;)

    gruß gmmg

  • Das ist eine InfoBar für Laufwerke. Du kannst aber gerne eine eigene Bar schreiben :P
    Vielleicht kommt das aber noch
    *Add Unimportant Feature Request: Quicklaunch*

  • hi,

    das weiß ich, das die für laufwerke ist!
    hätte ja sein können, das dies schon ansatzweise existiert! ich benötige ja theoretisch nur den teil, der für das gnerieren der gui und das sliden zuständig ist, sozusagen das Grundgerüst! eine programmverknüpfung ist ja kein problem!

    gruß gmmg

  • Hallo Zusammen,
    @Xeno Gratulation zum Moderator

    Es ist wirklich ein schönes Programm geworden und um einiges Mehr, was ich daraus hätte machen können. Mit Anderen macht es auch mehr Spaß.

    Aufgefallen ist mir aber ein Schönheitsfehler, beim öffnen der Optionen werden die Fenster überlagert und machen Einstellungen ohne Verschiebung unmöglich :!:

    Weiterhin viel Erfolg :!:

    Man liest sich...
    Euer Ritzelrocker04

    • Offizieller Beitrag

    @Ritzelrocker: Da hast Du Recht. Das Optionen-Fenster war noch nicht OnTop. -> geändert.

    @all: Könnt ihr mal testen, ob bei euch (bei den Datenträger-Informationen) der Gerätename bei allen Laufwerken richtig angezeigt wird. Speziell bei Festplatten mit mehreren Partitionen. Ob dann bei allen Partitionen auch die richtige Hardware angezeigt wird.