איך "נתפוס" פעולות שהמשתמש בצע למחשב? נעילה, כיבוי וכו'

lea zaks#C, NET.Leave a Comment

נרשם לאירועים SessionEndingEventHandler ו-SessionEndingEventHandler מייד בתחילת התוכנית.
וכך, כל זמן שהתוכנית שלנו רצה ברקע נוכל לדעת האם המשתמש בצע Lock/Unlock/Logoff וכו'
צריך לשים לב, שכשמבצעים Login למחשב התוכנית עדיין אינה רצה וע"כ האירוע SessionLogon אינו "נתפס"
בתוכנית שלי הגדרתי שהתוכנה תעלה ב startup ולכן מייד בתחילת התוכנית מבחינתי מתרחש אירוע Login כל פעולה שהשתמש מבצע התכנה תופסת ושולחת ל DB

 

static void Main(string[] args)
        {
            SystemEvents.SessionSwitch += new SessionSwitchEventHandler(SystemEvents_SessionSwitch);
            SystemEvents.SessionEnding += new SessionEndingEventHandler(SystemEvents_SessionEnding);
        }
 
        static void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
        {
            switch (e.Reason)
            {
                case SessionEndReasons.Logoff:
                    break;
                case SessionEndReasons.SystemShutdown:
                    break;
            }
        }
 
        static void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)
        {
            switch (e.Reason)
            {
                case SessionSwitchReason.ConsoleConnect:
                    break;
                case SessionSwitchReason.ConsoleDisconnect:
                    break;
                case SessionSwitchReason.SessionLock:
                    break;
                case SessionSwitchReason.SessionLogoff:
                    break;
                case SessionSwitchReason.SessionLogon:
                    break;
                case SessionSwitchReason.SessionUnlock:
                    break;
            }
        }

נכתב ע"י leha z תכניתנית של בנק לאומי

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *