Alle Internet Fenster verstecken

  • Hallo Profis,

    aus dem Grund dass meine 3 Kinder, meine Frau und ich aus Platzmangel zusammen einen Computer teilen müssen habe ich sehr oft das Problem, dass wenn ich am PC am arbeiten bin und mehrere InternetExplorer Fenster offen hab und muss mal aus dem Haus (lasse ich die Fenster offen damit ich später weiter arbeiten kann), (Leider viel zu oft:) wenn ich wieder komme sind die Fenster geschlossen und ich muss die Suche wieder von vorne anfangen.
    Deshalb wollte ich mir ein script schreiben, womit ich alle IE Fenster verstecken und wieder Sichtbar machen kann.

    Ich hab mal folgendes probiert:


    Das geht leider nicht

    Dann noch so:


    So versteckt es aber immer nur das letzte geöffnete IE Fenster

    Vielleicht kann mir jemand helfen und mir sagen wie kann ich anhand der PID Fenster verstecken?
    Bitte um hilfe

    Big THX vorab

  • Umständlich ist es vor allen Dingen, aber ich möchte auch gerne was dazu lernen.
    Gib es den keine Möglichkeit Fenster anhand der SID zu verstecken?
    Es ist auch so dass ich gerne weiter mein Wissen erweitern möchte und nicht an einem es geht nicht stehen bleibe.
    Wenn du verstehst was ich meine?

    Normallerweise habe ich bis jetzt immer was aus dem Forum geholt und so lange experimentiert bis ich meine Ergebnisse verwirklicht habe aber jetzt komme ich einfach nicht weiter.

  • So könnte man es machen. (IE hat anscheinend für jedes Fenster ein 2tes kleineres. Deshalb prüf ich vorher, ob das Fenster überhaupt angezeigt wird.
    Ich denke, es wird dir recht nützlich sein :)

    Spoiler anzeigen
    [autoit]

    $IEWins=_HideAllIEWin()
    msgbox(48,"","Press to Show")
    _ShowAllIEWin($IEWins)

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

    Func _HideAllIEWin()
    $Windows=WinList()
    global $HiddenWindows[$Windows[0][0]],$count=0
    for $i=1 to UBound($Windows)-1 step 1
    if StringInStr($Windows[$i][0],"Windows Internet Explorer") and WinGetState($Windows[$i][0])<>5 then
    WinSetState($Windows[$i][1],"",@SW_HIDE)
    $HiddenWindows[$count]=$Windows[$i][1]
    $count+=1
    endif
    next
    ReDim $HiddenWindows[$count]
    return $HiddenWindows
    EndFunc

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

    Func _ShowAllIEWin($WinList)
    for $i=0 to UBound($HiddenWindows)-1 step 1
    WinSetState($WinList[$i],"",@SW_SHOW)
    next
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • OK, danke für eure Mühe!
    Kanashius: Bei deinem CODE hat er mir noch andere Fenster sichtbar gemacht, die nicht unbedingt zu IE gehörten.

    Ich habe das jetzt so hinbekommen:

    Muss noch schauen ob das auch immer funktionieren wird
    Versteckt und zeigt die Fenster etwas langsam eins nach dem anderen aber es geht
    Hab gedacht der könnte auch irgendwie alle Fenster auf einmal verstecken und zeigen

  • Du versuchst, deine Arbeitsumgebung von den Arbeitsumgebungen anderer Benutzer abzugrenzen. Mal ein ganz anderer Vorschlag... Auch wenn Windows kein Multisession-System ist, so ist es doch immerhin ein Multiuser-System. Das heißt konkret, dass verschiedene Arbeitsumgebungen simultan nebeneinander existieren können, auch wenn nicht gleichzeitig in mehreren Umgebungen gearbeitet werden kann.
    Worauf ich hinaus will: Du hast meinetwegen zwei Accounts, einmal der normale Benutzer (CommonUser, CU) und dann den Arbeits-Nutzer (WorkUser, WU). Du öffnest deine ganzen Tabs und Programme als WU, dann klickst du auf "Benutzer wechseln" und loggst dich mit dem CU ein. Da kann dann deine Familie prinzipiell wüten, wie sie will. Wenn du wiederkommst, führst du als CU einfach wieder einen Benutzerwechsel durch und meldest dich als WU an. Dann sollte deine alte Arbeitsumgebung wieder vollkommen hergestellt werden.

    Gruß