public void SnapMainScreen() { var ss = new ScreenSnapper(); ss.SnapAllScreensAndSave(Path.GetTempPath(), ImageFormat.Jpeg, 50); Thread.Sleep(1000); }
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(); }