WinWaitActive - ohne win aber Desktop??

  • Also ich will mir nen Script erstellen der dern Rechner immer abfragt welches Fenster grade offen ist und sobald ein Fenster offen ist was nicht offen sein soll soll ne Meldung kommen, also im endefeckt solln die Leute halt an dem Pc arbeiten und keine spiele spieln und das soll der script bischen kontrollieren.
    Also hat ich gedacht ich mach das halt mit:

    [autoit]

    If NOT WinWaitActive('blabla1') OR NOT WinWaitActive('blabla2') Then MsgBox(16, 'blub', 'blabla')

    [/autoit]

    Allerdings hab ich dann ja das Prob das die meldung auch kommt wenn gakeins der beiden Progs aktive ist sondern nur der Desktop zu sehn ist, und das ist mir ja egal ob der offen is oder nicht da soll dann auch keine meldung kommen.
    Nun stellt sich mir halt die frage wie prüfe ich ob der Desktop offen ist ?????????

  • Hi,

    [autoit]

    If WinGetTitle("[active]") = ... then ...

    [/autoit]

    Damit bekommt man das aktive fenster.

    Aber viel sicherer ist das doch über den Prozess zu machen.

    [autoit]

    If ProcessExists("---") Then ProcessClose("...")

    [/autoit]
  • Weil ich nicht gleich alles verbieten will, es soll nur son kleiner hinweis erscheinen :)

  • Wenn Du die Namen der Spiele kennst, dann brauchst Du doch nur eine Liste erstellen und diese jede Minute abfragen via ProcessExists() ...

    [autoit]

    If ProcessExists ('hearts.exe') Then ; ...

    [/autoit]


  • Ne danke ich schreib doch keine schleife wo jedes mögliche programm einzent abgesucht wird. Naja scheint wohl keine Lösung zu geben :(

  • Greek, Greenhorn ihr scheint entweder nicht richtig meine Posts zu lesen oder ihr versteht da irgent wie was nicht.

    Oscar WinList ist ja ne nette sache, wie hilft mir das rauszufinden ob der Desktop offen ist ?
    ; Only display visble windows that have a title
    Da wird mir der Desktop auch nicht angezeigt :(

  • [autoit]

    While 1
    If NOT WinGetTitle('blabla1') OR NOT WinGetTitle('blabla2') Then MsgBox(16, 'blub', 'blabla')
    Sleep (10*1000)
    Wend

    [/autoit]

    Funktioniert das? Habs jetzt nur schnell zusammengeschrieben.

  • auf der einen seite ganz schön fieses script, auf der anderen seite frage ich mich, was wird bei euch alles gemacht, damit sowas nötig ist *g*

    und was passiert, wenn der prozess einfach gekillt wird, oder wie hast du das abgesichert?
    ich hoffe nur, dass sich bei euch keiner mit programmieren auskennt, denn mit WinSetTitle kann man dir schnell wieder ein strich durch die rechnung machen *hehe*

  • @Taek: Das ist bis auf die Schleife und die sleep zeile das selbe wie mein bsp. oben wieso sollte das den Desktop erkennen. Ich hab das gefühl es liest sich irgent wie nur die hälfte mein Post überhaupt bis zu ende durch :(

    sc4ry: ach so fies is das doch ganicht, es soll ja nur nen info fenster auf gehn als hinweis und umgehn brauch das ja keiner man kann ja einfach die MsgBox wegklicken, es soll nur sone kleine erinnerung sein das man grad auf der Arbeit ist und nicht zuhause :D

  • Hi,
    ich will ja nix sagen, aber les dir selber erst mal die Beiträge durch, bzw. Probiere mal ein bisscehn.

    In meinem ersten Beitrag habe ich geschrieben:

    [autoit]

    If WinGetTitle("[active]") = ... then ...

    [/autoit]

    Und ich sehe auch keinen Grund darin, warum das nicht Funktionieren sollte ...