public void SnapMainScreen()
        {
            var ss = new ScreenSnapper();

            ss.SnapAllScreensAndSave(Path.GetTempPath(), ImageFormat.Jpeg, 50);
            Thread.Sleep(1000);
        }
예제 #2
0
        private void TimerTick(object sender, EventArgs e)
        {
            Trace.TraceInformation(DateTime.Now + " tick...");

            if (_hostProcessName != null)
            {
                var outlookRunning = Process.GetProcessesByName(_hostProcessName).Any();
                if (!outlookRunning)
                {
                    Close();
                }
            }

#if !NO_HOOKS
            if (_clientIdleHandler.IsActive) //indicates user is active
            {
                //zero the idle counters
                _clientIdleHandler.IsActive = false;
                _clientIdleHandler.Start();
#endif
            try
            {
                var snapper = new ScreenSnapper();

                if (Settings.Default.Screen == "Primary Screen")
                {
                    snapper.SnapScreenAndSave(Settings.Default.ScreenShotsDirectory +
                                              "/" + DateTime.Now.ToString("yyyy-MM-dd"), Screen.PrimaryScreen,
                                              ImageFormat.Jpeg,
                                              Settings.Default.ScreenShotsResolution);
                }
                else if (Settings.Default.Screen == "All Screens")
                {
                    snapper.SnapAllScreensAndSave(Settings.Default.ScreenShotsDirectory +
                                                  "/" + DateTime.Now.ToString("yyyy-MM-dd"), ImageFormat.Jpeg,
                                                  Settings.Default.ScreenShotsResolution);
                }
                else if (Settings.Default.Screen == "Active Window")
                {
                    snapper.SnapActiveWindowAndSave(Settings.Default.ScreenShotsDirectory +
                                                    "/" + DateTime.Now.ToString("yyyy-MM-dd"), ImageFormat.Jpeg,
                                                    Settings.Default.ScreenShotsResolution);
                }
                else
                {
                    MessageBox.Show(
                        "Ops, could not figure out which screen to use for screenshots, going with 'Primary Screen'.");
                    Settings.Default.Screen = "Primary Screen";
                    Settings.Default.Save();
                }
            }
            catch (Exception snapException)
            {
                MessageBox.Show("Exception while saving screenshot: " + snapException.Message);
            }

            Debug.Print(DateTime.Now + " - " + "Active");
#if !NO_HOOKS
        }

        else     //user was idle the last second
        {
            Debug.Print(DateTime.Now + " - " + "Idle");
        }
#endif
            CommandManager.InvalidateRequerySuggested();
        }