IE als TryIcon

  • Hab mal schnell was zusammengebastelt:

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>
    Opt("WinTitleMatchMode", 2)
    Opt("TrayOnEventMode", 1)
    Opt("TrayMenuMode", 1)
    TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, "_switch")
    $state = 1
    While 1
    sleep(100)
    WEnd
    Func _switch()
    If $state = 1 Then
    WinSetState(" - Windows Internet Explorer", "", @SW_HIDE)
    $state = 0
    ElseIf $state = 0 Then
    WinSetState(" - Windows Internet Explorer", "", @SW_SHOW)
    $state = 1
    EndIf
    EndFunc

    [/autoit]

    Der Internet Explorer MUSS offen sein bevor du das Script verwendest ;)

    Durch klicken auf das TrayIcon kannst du den Internet Explorer anzeigen oder verstecken.


    Gruß
    Carsten :D

  • Hallo Carsten,

    ein rießiges Dankeschön für Deine Idee. Ich habe es gleich mal ausprobiert, leider minimiert sich der IE nicht bei einem doppelklick des TryIcons...

    Das war mein erstes starten Deines Scripts..., werde später noch einmal danach schauen....


    Danke und viele Grüße

    SEIWA

  • Moin seiwa,

    hier mal was mit einem selbsterstellten IE.

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #Include <GUIConstants.au3>
    #include <IE.au3>

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

    Opt("TrayIconHide", 0)
    Opt("TrayOnEventMode",1)
    Opt("TrayMenuMode",1)

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

    Global $bShown = True

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

    $traycalender = TrayCreateItem("Show")
    TrayItemSetOnEvent($traycalender,"_TrayShowIE")
    $trayinput = TrayCreateItem("Hide")
    TrayItemSetOnEvent($trayinput,"_TrayHideIE")
    $trayexit = TrayCreateItem("Exit")
    TrayItemSetOnEvent($trayexit,"_TrayExit")

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

    $oIE = _IECreateEmbedded()
    $winIE = GUICreate("IE", 640, 480, @DesktopWidth - 660, @DesktopHeight - 540 )
    GUICtrlCreateObj( $oIE, 5, 5, 640, 480 )
    _IENavigate( $oIE, "www.autoit.de" )

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

    TraySetState() ; Traymenü anzeigen
    TraySetClick(16) ; bei Secondary Up Menü anzeigen.
    TraySetOnEvent( $TRAY_EVENT_PRIMARYDOUBLE, "_TraySwitch" )
    GUISetState(@SW_SHOW, $winIE)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func _TrayHideIE()
    WinSetState($winIE,'',@SW_HIDE)
    EndFunc

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

    Func _TrayShowIE()
    WinSetState($winIE,'',@SW_SHOW)
    EndFunc

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

    Func _TrayExit()
    Exit
    EndFunc

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

    Func _TraySwitch()
    If $bShown Then
    $bShown = False
    WinSetState($winIE,'',@SW_HIDE)
    Else
    $bShown = True
    WinSetState($winIE,'',@SW_SHOW)
    EndIf
    EndFunc

    [/autoit]

    Wenn noch was fehlt sag einfach Bescheid ;)

  • Habs mein Script nur mit dem Internet Explorer 7 getestet. Bei dem steht im Titel
    [SEITENNAME] - Windows Internet Explorer

    Und mein Script minimiert eben das Fenster mit " - Windows Internet Explorer" im Titel.
    Wenn du IE6 oder so hast musst du eben ein bisschen was ändern (falls da was anders ist...)

  • Hallo Carsten,

    hab die Änderung vorgenommen und es funktioniert, toll, danke!

    Aber wie erreiche ich, dass das Internet-Explorer-Fenster von alleine als TryIcon minimiert und das Programm beendet, wenn ich den Internet-Explorer schließe?

    Nochmals, tausend DANK... :)

    Gruß

    SEIWA

  • soll der IE sich wieder automatisch maximieren wenn man auf das Tray Icon klickt? oder soll es für immer weg sein?
    Wenn nein:

    Spoiler anzeigen
    [autoit]


    Opt("WinTitleMatchMode", 2)
    Opt("TrayIconDebug", 1)

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

    Do
    sleep(500) ;Wartet bis der Internet Explorer geöffnet ist
    Until WinExists(" - Windows Internet Explorer")

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

    WinSetState(" - Windows Internet Explorer", "", @SW_HIDE) ;Minimiert den Internet Explorer in den Tray
    While 1
    If Not ProcessExists("iexplore.exe") Then exit ;Wenn der IE geschlossen wird, Script schließen
    WEnd

    [/autoit]


    Wenn doch:

    Spoiler anzeigen
    [autoit]


    #include <Constants.au3>
    Opt("WinTitleMatchMode", 2)
    Opt("TrayOnEventMode", 1)
    Opt("TrayMenuMode", 1)
    TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, "_switch")
    Do
    sleep(500)
    Until WinExists(" - Windows Internet Explorer")
    WinSetState(" - Windows Internet Explorer", "", @SW_HIDE)
    $state = 0
    While 1
    sleep(100)
    If Not ProcessExists("iexplore.exe") Then exit ;Wenn der IE geschlossen wird, Script schließen
    WEnd
    Func _switch()
    If $state = 1 Then
    WinSetState(" - Windows Internet Explorer", "", @SW_HIDE)
    $state = 0
    ElseIf $state = 0 Then
    WinSetState(" - Windows Internet Explorer", "", @SW_SHOW)
    $state = 1
    EndIf
    EndFunc

    [/autoit]

    Gruß
    Carsten

  • Benutze auch IE7 und es funktioniert einwandfrei:
    Hab es nur in eine lesbare Form gebracht

    [autoit]


    #include <Constants.au3>
    Opt("WinTitleMatchMode", 2)
    Opt("TrayOnEventMode", 1)
    Opt("TrayMenuMode", 1)

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

    TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, "_switch")
    Do
    Sleep(500)
    Until WinExists(" - Windows Internet Explorer")

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

    WinSetState(" - Windows Internet Explorer", "", @SW_HIDE)
    $state = 0

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

    While 1
    Sleep(100)
    If Not ProcessExists("iexplore.exe") Then Exit ;Wenn der IE geschlossen wird, Script schließen
    WEnd

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

    Func _switch()
    If $state = 1 Then
    WinSetState(" - Windows Internet Explorer", "", @SW_HIDE)
    $state = 0
    ElseIf $state = 0 Then
    WinSetState(" - Windows Internet Explorer", "", @SW_SHOW)
    $state = 1
    EndIf
    EndFunc ;==>_switch

    [/autoit]