Tray ein/ausblenden

  • Hallo,

    ich würde gerne die Option ermöglich, das TrayIcon im laufenden Betrieb immer ein- bzw ausblenden zu können.

    Aber irgendwie will das nicht ... oder hab ich nen denkfehler drin?

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

    HotKeySet("^!p", "TrayIcon")

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

    ;Tray-Icon
    Func TrayIcon()
    If Opt("TrayIconHide", 0) Then
    Opt("TrayIconHide", 1)
    ElseIf Opt("TrayIconHide", 0) Then
    Opt("TrayIconHide", 1)
    EndIf
    EndFunc

    [/autoit]

    PS: hmm, wenn ich mir das recht überlege, scheint es zu gehen, aber auch nur für 1 milisek. .... wieso oO

  • Ehm, du hast da nen kleinen Denkfehler drin :D Du fragst 2x genau das selbe ab und führst auch 2x genau das selbe aus xD

    [autoit]


    If Opt("TrayIconHide", 0) Then
    Opt("TrayIconHide", 1)

    [/autoit]

    ist genau das selbe wie

    [autoit]


    ElseIf Opt("TrayIconHide", 0) Then
    Opt("TrayIconHide", 1)

    [/autoit]


    Versuch das, wobei ich glaube, dass man Optionen für ein Script später nicht mehr ändern kann. Sowas wie Includes z.B.

    [autoit]

    HotKeySet("^!p", "TrayIcon")

    ;Tray-Icon
    Func TrayIcon()
    If Opt("TrayIconHide", 0) Then
    Opt("TrayIconHide", 1)
    else
    Opt("Trayiconhide",0)
    EndIf
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von Sn0opy (29. Juni 2007 um 12:20)

  • ah, du hast recht .. thx.
    aber leider löst das nicht alle probleme =(

    programmstart - icon wird angezeigt:
    wenn das icon da ist, blendet er es ohne meckern aus, aber nicht mehr ein

    programmstart - icon wird NICHT angezeigt:
    wenn das icon nicht da ist, blendet er es auch nicht mehr ein

    wobei bei beiden optionen sieht man den systray zucken und für milisek das autoit-symbol aufblitzen. also macht er es schon, nur nicht dauerhaft ???

  • Ein Script für Counter-Strike:

    Code
    bind "taste" "sn_switch"
    
    
    alias sn_switch "sn_an"
    alias sn_an "funktion; alias sn_switch sn_aus"
    alias sn_aus "funktion; alias sn_switch sn_an"

    So, das ganze kann man nun sozusagen in Autoit übertragen, indem du einfach immer die funktion hotkeyset benutzt, und einfach die selbe taste mit einer neuen funktion belegst.

    Einmal editiert, zuletzt von Sn0opy (29. Juni 2007 um 15:26)

  • Voilà! Aber frag mich net, warum ich den Hotkey auf {UP} gesetzt habe. :D

    [autoit]

    HotKeySet("{UP}", "TrayIcon")
    $trayiconflag = 0

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

    ;Tray-Icon
    While 1

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

    WEnd

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

    Func TrayIcon()
    If $trayiconflag = 0 Then
    $trayiconflag = 1
    Opt("TrayIconHide", 1)
    ElseIf $trayiconflag = 1 Then
    $trayiconflag = 0
    Opt("TrayIconHide", 0)
    EndIf
    EndFunc

    [/autoit]

    grüße

    p.s. und finde bitte selbst eine lösung dafür, dass die Systemauslastung auf 100% steigt! ;)

    Einmal editiert, zuletzt von unearth (29. Juni 2007 um 15:35)

  • While 1

    Wend


    is doch klar dass CPU motzt... die muss dass ja ununterbrochen jetzt machen.


    Und genau das was du machst wollte er nicht, weil er - ich schätze mal berechtigter weise - denkt, dass dann NUR <-- die while schleife genutzt wird.

    ALles was drunter steht, aber nicht. und das will er eben NICHT!

  • das ist korrekt. die hauptaufgabe vom script soll ja nicht sein, das icon anzuzeigen und zu verstecken *g*

    das von cs check ich leider nicht, also mir ist klar, was das bezwecken soll, aber noch nicht, wie ich das autoit sage =)

    PS: lösung am start

    [autoit]

    Func TrayIcon()
    Opt("TrayIconHide", Not Opt("TrayIconHide", "Default"))
    EndFunc

    [/autoit]