Tray on event Mode

  • Hallo Zusammen,

    ich brauche mal eure Hilfe.
    Ich will eine Tray Funktion entwickeln, die automatisch aufpoppt sobald ein bestimmtes Fenster in der Taskleiste vorhanden ist.
    Ich meinem Beispiel habe ich die gemacht, sobald "Google" im IE startet. Die Funktion bezieht sich aber auf eine anderen Anwendung in meinem Betrieb.
    ich will das der Tray immer fragt sobal, die Anwendung auf ein bestimmtes Fenster springt (im bsp. Google)
    verneint man die Antwort, dann soll der Tray solange ruhen, bis ein anderes Fenster geöffnet wurde bsp. Yahoo und dann wieder Google geöffnet wird erenut fragt.

    Ich hoffe Ihr checkt mein Wirwar an Beschreibung.

    Hat wer ne Idee wie ich das realisiere?


    Spoiler anzeigen


    tray()

    func tray()
    Opt("trayoneventMode",1)
    Opt("traymenumode",1)

    $infoitem= TrayCreateItem("Starten")
    TrayItemSetOnEvent(-1,"start")

    $exititem=TrayCreateItem("Exit")
    TrayItemSetOnEvent(-1,"exit1")

    Do
    $title=WinGetTitle("[CLASS:IEFrame]")

    Until $title="Google - Windows Internet Explorer"=True
    $1=MsgBox(4,"","Funktion benutzen ?")
    if $1=6 Then
    start()
    ElseIf $1=7 Then
    MsgBox(0,"","ok ich warte")
    tray()
    EndIf

    TraySetState()

    While 1
    Sleep(10)
    WEnd

    EndFunc


    func start()
    MsgBox(0,"","funktion wird ausgeführt")
    EndFunc

    func exit1()
    Exit
    EndFunc

    Einmal editiert, zuletzt von billemg (20. Juli 2010 um 20:32)

  • Hab ich was falsch verstanden, oder meinst du es so? :

    Spoiler anzeigen
    [autoit]

    tray()

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

    func tray()
    Opt("trayoneventMode",1)
    Opt("traymenumode",1)

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

    $infoitem= TrayCreateItem("Starten")
    TrayItemSetOnEvent(-1,"start")

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

    $exititem=TrayCreateItem("Exit")
    TrayItemSetOnEvent(-1,"exit1")

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

    TraySetState()

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

    While 1
    Sleep(10)
    WEnd

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

    EndFunc

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

    func start()
    MsgBox(0,"","funktion wird ausgeführt")
    EndFunc

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

    func exit1()
    Exit
    EndFunc

    [/autoit]


    Edit: Man sollte erst fertig schreiben und dann das Thema erstellen...

    Einmal editiert, zuletzt von Ineluki (20. Juli 2010 um 20:38)

  • Er meint:
    If Winexist(Google...) then _TrayPopUp("Beispielnachricht")

    So hab ich das jetzt verstanden.

  • Danke für eure Antworten.
    Ich weis meine Beschreibung ist sehr dünn. Also nochmal...

    Ich habe eine Funktion, die in einem Anwendungsprogramm in meiner Firma eine Feld automatisch mit einem Text befüllt. Also was einfachen mit send Befehl.
    Jetzt will ich aber, dass meine Kollegen nicht jedesman die Exe starten, sondern das der Tray jedesmal checkt sobalb dieses Fenster in der Anwendung auftaucht und dann fragt ob er die Automatische Funktion beutzen möchte.
    Wenn Ja, dann klar und es wird ausgeführt,
    aber wenn Nein, dann soll der Tray solange im Sleep bleiben, bis das Fenster nochmal existiert.
    Bei meiner Do Schleife fragt es jedesmal nach, auch wenn man auf Nein klickt und ich sleep(bsp. 2000) mache, dann fragt es wieder nach 2 sek, obwohl vorher verneint wurde. Wie muss ich also meine Schelife machen, das erst wieder nachgefragt wird, wenn das Fenster ein erneutes Mal aufgerufen wird. Ich kann die Anwednung nicht veröffentlichen , da die auf unseren Betrieb Rechnern ohne Inet sind.
    Deshalb mein Beispiel mit Google.
    Also wenn Google erscheint, soll nachgefragt werden
    wenn ja dann Funktion ausführen, in dem BSP Input
    wenn nein, dann solange warten, bis aus eine andere Seite gewechselt wird und erst wieder nachfragen wenn Google nochmal aufgerufen wird.

    Ich weis, wenn man liest, denkt man Häääh :wacko: