• Hallo zusammen,

    ich habe seit 2-3 Tagen AutoIT im einsatz und probiere gerade ein wenig.


    Mein Ziel ist es das nach einer gewissen Zeit sobald ich den PC verlasse ein Script ausgeführt wird zb. nach 5 minuten / 10 Minuten /20 Minuten, immer die selbe Datei nur mit anderen attributen.

    Nachdem ich wieder am Platz bin soll erneut eine andere Datei mit einem Attribut ausgeführt werden.

    Hat da schon jemand von Euch Erfahrungen mit gemacht?

    Danke

  • Hallo germanidol !

    Könntest Du das bitte etwas genauer beschreiben, speziell WARUM Du das machen willst !

    Was verstehst Du in diesem Zusammenhang unter Attribut?

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Mein Ziel ist es das nach einer gewissen Zeit sobald ich den PC verlasse ein Script ausgeführt wird

    Dein PC bekommt im Normalfall nicht mit, daß du ihn verlassen hast. Mit _WinAPI_GetIdleTime kannst du aber feststellen, wie lange keine Tastatur oder Mouseaktivität war.

  • Moin,

    erstmal danke an Eure Antworten, ich verfeiner meine Anfrage etwas :

    Ich habe ein Programm was zur Verwaltung von Anwesenheiten dient, das Programm kann ich von außen durch Attribute oder auch Parameter steuern, durch eine exe datei.

    Beispiel:

    away.exe -message 5 Minutes

    away.exe -message 10 Minutes

    away.exe -message 15 Minuten

    u.s.w

    Das ganze soll dann bei 5, 15, 30, 45, 60 min passieren.

    Ab 60 Minuten würde ich dann schreiben als message über 60 Minuten abwesend.

    Am besten wäre es wenn mit der _WinAPI_GetIdleTime gemessen werden kann wie lange ich keine Maus und Tastatur verwende und nach 5 Minuten der erste Befehl ausgeführt wird, nach 10 Minuten der zweite usw.

    Sobald ich zurück bin und die Maus oder Tastatur bewege soll wiederrum ein Befehl ausgeführt werden z.b


    away.exe -message Verfügbar

    Ich hatte das bereits mit der Windows Aufgabenplanung erstellt aber das klappt leider nicht so gut. Denke so ist es ganz gut beschrieben,

    Danke Euch für die Mithilfe.

  • Der ist schon gut für den Anfang.

    Nach 5 Sekunden öffnet sich der Calc.

    Nach 8 Sekunden soll sich zb Notepad öffnen.

    Nach 10 Sekunden ... usw.

    Bewegt man die Maus soll zb paint.exe ausgeführt werden und bei erneuter inaktivität fängt er wieder bei 5 Sekunden an

  • oder so...

  • Hey Bitnugger,

    danke für die Hilfe.

    Ich habe da Parameter mal eingesetzt.

    Der

    Code
    -absentstate:1

    müsste sich bei Verfügbarkeit wieder auf

    Code
    -absentstate:0

    setzen. Kriegt man das dort mit eingebaut?

    Vielen Dank nochmal!

  • Habe gerade entdeckt, wo der Fehler steckt... es liegt an dem letzten Parameter bei RunWait: $aMessage[$iMessage].

    Die Zeile muss nun so aussehen, wie in der Zeile darüber mit dem ConsoleWrite, weil das Array nun zwei Dimensionen hat:

    RunWait('away.exe absent -absentstate:' & ($bAbsent ? 1 : 0) & ' -message ' & $aMessage[$iMessage][1], '', @SW_HIDE)

    oder so... wenn eine CMD benötigt wird, was aber wohl nicht erforderlich ist...

    RunWait(@ComSpec & ' /c away.exe absent -absentstate:' & ($bAbsent ? 1 : 0) & ' -message ' & $aMessage[$iMessage][1], '', @SW_HIDE)

  • Es funktioniert

    Er schreibt nur noch die Zahl dahinter. Er geht Abwesend und auch automatisch wieder Anwesend aber die Message wird nicht angehängt.

    Ich vermute mal wegen ""

    -message:"5 Minuten" muss die lauten

  • Dann ist es so richtig...

    RunWait('away.exe absent -absentstate:' & ($bAbsent ? 1 : 0) & ' -message:"' & $aMessage[$iMessage][1] & '"', '', @SW_HIDE)

    oder so...

    RunWait(@ComSpec & ' /c away.exe absent -absentstate:' & ($bAbsent ? 1 : 0) & ' -message:"' & $aMessage[$iMessage][1] & '"', '', @SW_HIDE)

  • Ein Traum!! Vielen Vielen Dank! Läuft!

    Kriegt man dieses Script Paused noch weg im Tray Icon? Sonst läuft alles super.

    Man könnte jetzt vielleicht noch im Tray Icon Pause einfügen, das er automatisch away.exe absent -message:"In der Pause" -absentstate:1 abschickt.

  • Einmal editiert, zuletzt von Bitnugger (14. Dezember 2018 um 12:20)

  • Hallo Bitnugger

    die Option Opt('TrayAutoPause', 0) ; no pause greift nicht, wenn du Opt('TrayMenuMode', 1) benutzt. TrayAutoPause bestimmt beim Standardmenü nur, ob schon mit dem Klick auf das Icon das Skript pausiert wird oder man das noch extra auswählen muss. In dem Moment, wo du das Menü aber entfernst, spielt das eh keine Rolle mehr.

    Grüße autoiter

  • die Option Opt('TrayAutoPause', 0) ; no pause greift nicht, wenn du Opt('TrayMenuMode', 1) benutzt. TrayAutoPause bestimmt beim Standardmenü nur, ob schon mit dem Klick auf das Icon das Skript pausiert wird oder man das noch extra auswählen muss. In dem Moment, wo du das Menü aber entfernst, spielt das eh keine Rolle mehr.

    Danke für den Hinweis!