Skript versteckt starten

  • Hallo,
    ich könnte einen Skript zwar versteckt starten, indem ich ihn über ein anderen Skript starte, also Run("...","...",@SW_HIDE) aber ich fände es besser den Skript direkt versteckt zu starten, ohne einen weiteren zu benötigen, ist das möglich?

    Einmal editiert, zuletzt von das Keks (26. Juli 2010 um 20:30)

  • Ja, der Prozess kann von mir aus auch sichtbar bleiben (Prozesse kann man ja afaik auch gar nicht verstecken.
    Und ne GUI hat das Skript auch nicht, aber ich möchte das Symbol aus dem Systemtray haben, da das Programm bei mir eh immer läuft und nicht beendet werden muss.

  • Du hast es erfasst ;) (Prinzipiell ist es aber egal ob es ganz oben oder ganz ober oder wo auch immer steht)
    genau wie RequireAdmin und Co

    21 is only half the truth.

  • Naja ganz egal ist es eigentlich nicht.
    Nach einer Endlosschleife erfüllt es seinen Zweck nicht oder?


    Doch, denn #NoTrayIcon ist eine PräProzessor Anweisung ;) Also wird der Befehl schon beim Kompilieren berücksichtigt. Genauso wie #include, #Require Admin, ...

  • Das mit dem Include is nich korrekt.

    Ich hab mal ein Script gemacht mit einem Include:

    Inc.au3
    [autoit]

    MsgBox(0, "","Include")

    [/autoit]
    Script.au3
    [autoit]

    MsgBox(0, "", "Script")
    #include<Inc.au3>

    [/autoit]

    Wenn ich das so compile dann sollte nach deiner Theorie erst die Include msgbox kommen, und dann erst die Script msgbox.

    Aber bei mir kommt erst die Script MsgBox.

    Mfg
    monkey

    Monkey - die finale Potenz von göttlich!
    Sloganizer

  • Hier ist mal eine Funktion um das TrayIcon zu verstecken oder anzeigen zu lassen

    [autoit]

    #include <GuiToolBar.au3>

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

    ToolbarHide("Steam") ; Der Name unten im Tray
    ;flag= 0 ANZEIGEN
    ;flah= 1 VERSTECKEN
    Func ToolbarHide($name, $flag=0)
    Local $toolbar = ControlGetHandle("[CLASS:Shell_TrayWnd]", "", "[CLASSNN:ToolbarWindow321]")
    Local $nr = _GUICtrlToolbar_ButtonCount($toolbar)
    For $i=0 To $nr-1
    Local $cmd = _GUICtrlToolbar_IndexToCommand($toolbar, $i)
    Local $text = _GUICtrlToolbar_GetButtonText($toolbar, $cmd)
    If StringInStr($text, $name) Then
    If $flag=1 Then
    _GUICtrlToolbar_SetButtonState($toolbar, $cmd, $TBSTATE_HIDDEN)
    Else
    _GUICtrlToolbar_SetButtonState($toolbar, $cmd, $TBSTATE_ENABLED)
    EndIf
    Return 1
    ExitLoop
    EndIf
    Next
    EndFunc

    [/autoit]
  • Kann man auch mit

    [autoit]

    Opt("TrayIconHide",1) ;Verstecken
    Opt("TrayIconHide",0) ;Anzeigen

    [/autoit]


    Wenn das Icon von Anfang an versteckt werden soll, ist #NoTrayIcon die bessere Wahl. Wenn man Opt verwendet wird es für ein paar Sekundenbruchteile angezeigt, bei der Präprozessoranweisung überhaupt nicht.