Script nur bei bestimmtem Fenster ausführen

  • Hallo,

    ich möchte gerne eine webbasierende Anwendung so erweitern, daß ich die Maus so gut wie nie mehr zur Hand nehmen muss. Das läuft ein bißchem dem Sinn einer Webanwendung entgegen - aber ich bin mit Tastatur einfach fixer :D

    Meine Frage:
    Ich habe die zusätzlichen Tastaturkürzel per HotKeySet realisiert, z.B. so:

    HotKeySet("^{PGDN}", "RunterAdr") ;Bild runter taste und STRG

    das Ding verzeigt dann auf eine Prozedur ("RunterAdr"), die den Mauszeiger auf das "Seite nach unten Symbol" schiebt und die linke Maustaste drückt.

    Mit WinWaitActive wollte ich verhindern, daß die Makros auch bei nicht aktivem Programm funktionieren, also z.B. dann wenn ich Word auf habe.

    Scheinbar funktionieren die HotKeySets aber immer, egal in welcher Schleife man sich befindet.

    Kann man das irgendwie umgehen oder eleganter lösen?


    RanC

  • Das ist der bisherige Code:

    (EDIT, rausgelöscht)

    EDIT:
    Habe mir jetzt mal deinen Code runtergeladen (war gar nicht einfach, der Server in Bern hat das nicht rausgerückt). Habe folgendes gefunden:

    Func hide()
    If WinActive("Yahtzee (c) Th.Meger") = 1 Then
    WinSetState("Yahtzee (c) Th.Meger", "", @SW_HIDE)
    Opt("TrayIconHide", 1)
    Else
    WinSetState("Yahtzee (c) Th.Meger", "", @SW_SHOW)
    Opt("TrayIconHide", 0)
    EndIf
    EndFunc ;==>hide


    ...

    ich denke mal diese Funktion meinst du, oder?

    Bin jetzt leider nicht an dem Rechner (bin schon zu Haus) aber werd das morgen mal ausprobieren! Wie würdest du denn an meiner Stelle die Hotkeys inaktiv setzen, so ungefähr?

    If WinActive("http://192.168.0.55") = 1 Then
    HotKeySet("^{PGDN}", "RunterAdr") ;Bild runter taste und STRG
    HotKeySet("^{PGUP}", "RaufAdr") ;Bild rauf taste und STRG
    HotKeySet("!{PGDN}", "RunterFzg") ;Bild runter und ALT
    HotKeySet("!{PGUP}", "RaufFzg") ;Bild rauf und ALT
    HotKeySet("^f","FindenAdr") ;f und STRG
    HotKeySet("!f","FindenFzg") ;f und ALT
    Else
    HotKeySet("^{PGDN}","Nixpassiert") ; Umleiten auf leere Funktion
    EndIf


    Func Nixpassiert
    EndFunc


    Oder geht das irgendwie eleganter? Ich würde in der Schleife, die permanent im Hintergrund läuft diese Funktion einbauen, so daß jedes mal wenn das Fenster aktiv ist die HotKeys gesetzt werden und wenn das Fenster nicht aktiv wieder gelöscht.

    Ist die Frage ob das zu Prozessorauslastung führt (weil diese Abfrage "ist das Fenster aktiv" ja permanent durchläuft)

    Einmal editiert, zuletzt von Ranc (26. März 2007 um 15:00)