2 MS-Windows Datei-Explorer nebeneinander starten

  • Version 1.0 für Windows XP

    Spoiler anzeigen

    14 Mal editiert, zuletzt von m47 (17. Oktober 2015 um 03:28)

  • Ich habs nochmal verbessert. Damit es auch funktioniert, wenn man schon Fenster offen hat: (Bis zu 100 mit dem Namen Arbeitsplatz :) )

    Spoiler anzeigen
    [autoit]

    Dim $ShellApp
    $ShellApp=ObjCreate("shell.application")
    $ShellApp.MinimizeAll
    For $i = 0 To 100
    If WinExists("Arbeitsplatz") Then
    WinSetTitle( "Arbeitsplatz","",$i & "Arbeitsplatz")
    Else
    ExitLoop
    EndIf
    Next
    $a = Run("explorer.exe /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")
    WinWait("Arbeitsplatz")
    WinSetTitle("Arbeitsplatz","","Rechts Arbeitsplatz")
    $b = Run("explorer.exe /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")
    WinWait("Arbeitsplatz")
    $ShellApp.TileVertically
    Sleep(1000)
    WinSetTitle("Rechts Arbeitsplatz","","Arbeitsplatz")
    For $i = 0 To 100
    If WinExists($i & "Arbeitsplatz" ) Then
    WinSetTitle($i & "Arbeitsplatz","","Arbeitsplatz")
    Else
    ExitLoop
    EndIf
    Next

    [/autoit]

    Einmal editiert, zuletzt von progandy (3. Januar 2008 um 15:22)

  • Ich liebe den WinCommander !!!

    Gleich FTP und alles dabei.

    LG, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • If WinExists("Arbeitsplatz") Then

    Frage: wenn schon mehrere Explorer offen sind (mit unterschiedlichem Title!!) und mein Script ausgeführt wird, wie setzt man das um das zuvor alle geschlossen werden ...
    möchte das maximal 2 Explorer offen sind, der Ordnung halber.
    Wird e ziemlich einfach sein nur hab ich wenig Ahnung vom Programmieren :)

    Beispiel:

    Spoiler anzeigen
    [autoit]


    Dim $ShellApp
    $ShellApp=ObjCreate("shell.application")
    $ShellApp.MinimizeAll
    For $i = 1 to 10
    If WinExists("Arbeitsplatz") Then
    WinClose ("Arbeitsplatz")
    EndIf
    Next
    Send("#e")
    WinWait("Arbeitsplatz")
    Send("#e")
    WinWait("Arbeitsplatz")
    $ShellApp.TileVertically

    [/autoit]

    3 Mal editiert, zuletzt von m47 (25. Juni 2012 um 03:57)

    • Offizieller Beitrag

    Hi,

    [autoit]

    Send('#m')
    _closeAllExplorer()
    ShellExecuteWait('explorer', @WindowsDir, '', '', @SW_MAXIMIZE)
    ShellExecuteWait('explorer', @ScriptDir, '', '', @SW_MAXIMIZE)
    Sleep(1000)
    DllCall("user32.dll", "int", "CascadeWindows", "int", 0, "int", 4, "int", 0, "int", 0, "int", 0); Cascade
    Sleep(1000)
    DllCall("user32.dll", "int", "TileWindows", "int", 0, "int", 1, "int", 0, "int", 0, "int", 0); Tile Horizontal
    Sleep(1000)
    DllCall("user32.dll", "int", "TileWindows", "int", 0, "int", 0, "int", 0, "int", 0, "int", 0); Tile Vertical
    Sleep(1000)
    _closeAllExplorer()

    Func _closeAllExplorer()
    Local $opt = Opt('WinTitleMatchMode', 4)
    Do
    until WinClose("[CLASS:ExploreWClass]") = 0 and WinClose("[CLASS:CabinetWClass]") = 0
    Opt('WinTitleMatchMode', $opt)
    EndFunc ;==>_closeAllExplorer

    [/autoit]

    So long,

    Mega

    • Offizieller Beitrag

    Hallo

    Windows Commander darf man nich mehr Widnows Commander nennen, weil es rechtliche probleme mit Windows gab :D
    (ist traurig aber wirklich war) heißt jetzt Total Commander (und ich benutz ihn auch. Der Beste Dateimanager ever)

    m47: nicht schlechte idee, aber das gab es auch schonmal irgendwo im englischem Forum^^

    Mfg Spider

  • Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    If WinExists("[CLASS:CabinetWClass]") Then
    Do
    Until WinClose("[CLASS:CabinetWClass]") = 0
    Else
    BlockInput(1)
    Send("#e")
    WinWait("Computer")
    ;~ WinActivate("Computer")
    Send("{LWINDOWN}{LEFT}")
    Send("#e")
    WinWait("Computer")
    ;~ WinActivate("Computer")
    Send("{LWINDOWN}{RIGHT}")
    Send("{LWINUP}")
    BlockInput(0)
    EndIf

    [/autoit]

    2 Mal editiert, zuletzt von m47 (17. Oktober 2015 um 03:37)

  • Spoiler anzeigen
    [autoit]


    Opt("WinTitleMatchMode", 3) ;3=genau
    If WinExists("[CLASS:CabinetWClass]") Then
    Do
    Until WinClose("[CLASS:CabinetWClass]") = 0
    Else
    BlockInput(1)

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

    Send("#e #e")

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

    Do $hWnd_Explorer_Fenster = WinList("[TITLE:Computer]")
    Until Ubound($hWnd_Explorer_Fenster) = 3

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

    WinActivate($hWnd_Explorer_Fenster[1][1])
    Send("{LWINDOWN}{LEFT}")
    WinActivate($hWnd_Explorer_Fenster[2][1])
    Send("{LWINDOWN}{RIGHT}")
    Send("{LWINUP}")

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

    BlockInput(0)
    EndIf

    [/autoit]

    4 Mal editiert, zuletzt von m47 (17. Oktober 2015 um 03:35)

  • Spoiler anzeigen
    [autoit]


    Opt("WinTitleMatchMode", 3) ;3=genaue Textübereinstimmung anwenden
    $Timer = TimerInit()
    If WinExists("[CLASS:CabinetWClass]") Then ;prüft ob ein Explorerfenster existiert
    Do
    Until WinClose("[CLASS:CabinetWClass]") = 0
    Or TimerDiff($Timer) > 5000 ;schliesst Explorerfenster bis keine existieren oder die Zeit von 5 Sekunden überschritten wird
    Exit_Timer_5000();sind zuletzt 5 Sekunden überschritten worden dann beende das Script
    ToolTip("Exlorers closed in " & Round(TimerDiff($Timer)/1000, 1) & " seconds", @DesktopWidth/2, @DesktopHeight/2) ;Zeitangabe wie schnell alle Explorerfenster geschlossen wurden
    Else BlockInput(1) ;Sperrt Eingaben des Users
    Send("#e #e") ;öffne zwei Windows Explorer
    Do $hWnd_Explorer_Fenster = WinList("[TITLE:Computer]") ;per Winlist das Fensterhandle der Explorerfenster erhalten
    Until Ubound($hWnd_Explorer_Fenster) = 3 Or TimerDiff($Timer) > 5000 ;solange bis zwei Exlorerfenster/Handles existieren oder die Zeit von 5 Sekunden überschritten wird
    Exit_Timer_5000();sind zuletzt 5 Sekunden überschritten worden dann beende das Script
    Do WinActivate($hWnd_Explorer_Fenster[1][1]) ;das Handle Nr.1 aktivieren
    Until BitAnd(WinGetState($hWnd_Explorer_Fenster[1][1]), 8) Or TimerDiff($Timer) > 5000 ;solange bis Handle Nr.1 aktiviert ist oder die Zeit von 5 Sekunden überschritten wird
    Exit_Timer_5000();sind zuletzt 5 Sekunden überschritten worden dann beende das Script
    Send("{LWINDOWN}{LEFT}") ;Windowstaste gedrückt halten + Pfeil links
    Do WinActivate($hWnd_Explorer_Fenster[2][1]) ;das Handle Nr.2 aktivieren
    Until BitAnd(WinGetState($hWnd_Explorer_Fenster[2][1]), 8) Or TimerDiff($Timer) > 5000 ;solange bis Handle Nr.2 aktiviert ist oder die Zeit von 5 Sekunden überschritten wird
    Exit_Timer_5000();sind zuletzt 5 Sekunden überschritten worden dann beende das Script
    Send("{LWINDOWN}{RIGHT}") ;Windowstaste gedrückt halten + Pfeil rechts Send("{LWINUP}") ;Windowstaste los lassen
    BlockInput(0) ;Entsperrt Eingaben des Users
    ToolTip("2Exlorer opened in " & Round(TimerDiff($Timer)/1000, 1) & " seconds", @DesktopWidth/2, @DesktopHeight/2) ;Zeitangabe wie schnell zwei Explorerfenster geöffnet wurden
    EndIf
    Sleep(2000) ;2 Sekunden warten um die Tooltipanzeige aufrecht zu erhalten
    Exit

    Func Exit_Timer_5000()
    If TimerDiff($Timer) > 5000 Then Exit
    EndIf
    EndFunc

    [/autoit]

    3 Mal editiert, zuletzt von m47 (17. Oktober 2015 um 03:45)

  • Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.12.0
    Author: m47
    Version: 1.5

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    #include <Misc.au3>

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

    Opt("MustDeclareVars", 1) ;1 = Variable muss deklariert werden
    Opt("WinTitleMatchMode", 3) ;3 = genaue Textübereinstimmung anwenden

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

    Global $Script_Name = "2Explorer" ;http://de.wikipedia.org/wiki/Windows-Explorer ;Befehlszeilenoptionen für Windows-Explorer http://support2.microsoft.com/kb/130510/de
    Global $i
    Global $Timer

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

    If _Singleton($Script_Name,1) = 0 Then
    Sound() ;
    Exit
    EndIf

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

    ;Tooltip
    Dim $Tooltip_Text[4]
    $Tooltip_Text[0] = "Exlorers "
    $Tooltip_Text[1] = "closed in "
    $Tooltip_Text[2] = "opened in "
    $Tooltip_Text[3] = " seconds"
    Dim $Tooltip_Sleep_Delay = 2000 ;Millisekunden warten um die Tooltipanzeige aufrecht zu halten

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

    ;Start
    $Timer = TimerInit()
    If WinExists("[CLASS:CabinetWClass]") Then ;prüft ob ein Explorerfenster existiert
    Do
    Exit_Timer(5000) ;
    Until WinClose("[CLASS:CabinetWClass]") = 0 ;schliesst Explorerfenster bis keine existieren
    Tooltip_opened_closed($Tooltip_Text[1]) ;Zeitangabe wie schnell alle Explorerfenster geschlossen wurden
    Else
    BlockInput(1) ;Sperrt Eingaben des Users
    Send("#e #e") ;öffne zwei Windows Explorer
    Do
    Local $hWnd_Explorer_Fenster = WinList("[TITLE:Computer]") ;per Winlist das Fensterhandle der Explorerfenster erhalten
    Exit_Timer(5000) ;
    Until Ubound($hWnd_Explorer_Fenster) = 3 ;solange bis zwei Exlorerfenster/Handles existieren
    Do
    WinActivate($hWnd_Explorer_Fenster[1][1]) ;das Handle Nr.1 aktivieren
    Exit_Timer(5000) ;
    Until BitAnd(WinGetState($hWnd_Explorer_Fenster[1][1]), 8) ;solange bis Handle Nr.1 aktiviert ist
    Send("{LWINDOWN}{LEFT}") ;erstes Explorerfenster auf die linke Bildschirmhälfte platzieren, Windowstaste gedrückt halten + Pfeil links
    Do
    WinActivate($hWnd_Explorer_Fenster[2][1]) ;das Handle Nr.2 aktivieren
    Exit_Timer(5000) ;
    Until BitAnd(WinGetState($hWnd_Explorer_Fenster[2] [1]), 8) ;solange bis Handle Nr.2 aktiviert ist
    Send("{LWINDOWN}{RIGHT}") ;zweites Explorerfenster auf die rechte Bildschirmhälfte platzieren, Windowstaste gedrückt halten + Pfeil rechts
    Send("{LWINUP}") ;Windowstaste los lassen
    BlockInput(0) ;Entsperrt Eingaben des Users
    Tooltip_opened_closed($Tooltip_Text[2]) ;Zeitangabe wie schnell zwei Explorerfenster geöffnet und platziert wurden
    EndIf
    Exit
    ;Ende

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

    ;Funktionen
    Func Tooltip_opened_closed($i)
    ToolTip($Tooltip_Text[0] & $i & Round(TimerDiff($Timer)/1000, 1) & $Tooltip_Text[3], @DesktopWidth/2, @DesktopHeight/2)
    Sleep($Tooltip_Sleep_Delay)
    Exit
    Endfunc

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

    Func Exit_Timer($i) ;sind zuletzt $i Millisekunden überschritten worden dann beende das Script
    If TimerDiff($Timer) > $i Then
    Exit
    EndIf
    EndFunc

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

    Func Sound()
    Beep(200,200)
    EndFunc

    [/autoit]
  • Hi,
    funktioniert einwandfrei unter WIN7/64. :thumbup: