예제 #1
0
        /**
         * initializes timer and starts it, triggering event sequence
         **/
        public WindowMonitor(tableUpdater tabUp, textUpdater textUp)
        {
            updateTable += new tableUpdater(tabUp);
            updateText  += new textUpdater(textUp);
            //possible change to set global system hook for creation?
            //result so far: ALL window creations (even non-top level) raise event so doing so might actually
            //have inverse results and cause program to crash
            pollingCall();
            pollTimer          = new Timer(1000);                          //set polling rate to .5 Hz (every 2 seconds)
            pollTimer.Enabled  = true;
            pollTimer.Elapsed += new ElapsedEventHandler(pollProcessList); //add invoked (to-be) method to event handler
            pollTimer.Start();                                             //start timer
            opencloseDele   = new WinEventDelegate(OpenCloseEventProc);
            m_openclosehook = SetWinEventHook(EVENT_SYSTEM_FOREGROUND, EVENT_SYSTEM_FOREGROUND, IntPtr.Zero, opencloseDele, 0, 0, WINEVENT_OUTOFCONTEXT);
            titlechangeDele = new WinEventDelegate(TitleChangeEventProc);
            titleChangeHook = SetWinEventHook(EVENT_OBJECT_NAMECHANGE, EVENT_OBJECT_NAMECHANGE, IntPtr.Zero, titlechangeDele, 0, 0, WINEVENT_OUTOFCONTEXT);

            currentApp = GetForegroundWindow();
        }
예제 #2
0
 private void Start()
 {
     TextUpdater = GetComponent <textUpdater>();
 }