private void DoCapture(ScreenCaptureDelegate capture, CaptureType captureType, TaskSettings taskSettings = null, bool autoHideForm = true) { if (taskSettings == null) { taskSettings = TaskSettings.GetDefaultTaskSettings(); } if (taskSettings.CaptureSettings.IsDelayScreenshot && taskSettings.CaptureSettings.DelayScreenshot > 0) { int sleep = (int)(taskSettings.CaptureSettings.DelayScreenshot * 1000); BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (sender, e) => Thread.Sleep(sleep); bw.RunWorkerCompleted += (sender, e) => DoCaptureWork(capture, captureType, taskSettings, autoHideForm); bw.RunWorkerAsync(); } else { DoCaptureWork(capture, captureType, taskSettings, autoHideForm); } }
public static void DoCapture(ScreenCaptureDelegate capture, CaptureType captureType, TaskSettings taskSettings = null, bool autoHideForm = true) { if (taskSettings == null) taskSettings = TaskSettings.GetDefaultTaskSettings(); if (taskSettings.CaptureSettings.IsDelayScreenshot && taskSettings.CaptureSettings.DelayScreenshot > 0) { TaskEx.Run(() => { int sleep = (int)(taskSettings.CaptureSettings.DelayScreenshot * 1000); Thread.Sleep(sleep); }, () => { DoCaptureWork(capture, captureType, taskSettings, autoHideForm); }); } else { DoCaptureWork(capture, captureType, taskSettings, autoHideForm); } }
private new void Capture(ScreenCaptureDelegate capture, bool autoHideForm = true) { if (autoHideForm) { Hide(); Thread.Sleep(250); } Image img = null; try { Screenshot.DrawCursor = Program.Settings.ShowCursor; Screenshot.CaptureShadow = Program.Settings.CaptureShadow; img = capture(); if (img != null && Program.Settings.AutoPlaySound) { string soundPath = Path.Combine(Application.StartupPath, "Camera.wav"); if (File.Exists(soundPath)) { new SoundPlayer(soundPath).Play(); } } } catch (Exception ex) { DebugHelper.WriteException(ex); } finally { if (autoHideForm) { ShowActivate(); } AfterCapture(img); } }
private void DoCaptureWork(ScreenCaptureDelegate capture, CaptureType captureType, TaskSettings taskSettings, bool autoHideForm = true) { if (autoHideForm) { Hide(); Thread.Sleep(250); } Image img = null; try { Screenshot.CaptureCursor = taskSettings.CaptureSettings.ShowCursor; Screenshot.CaptureShadow = taskSettings.CaptureSettings.CaptureShadow; Screenshot.ShadowOffset = taskSettings.CaptureSettings.CaptureShadowOffset; Screenshot.CaptureClientArea = taskSettings.CaptureSettings.CaptureClientArea; Screenshot.AutoHideTaskbar = taskSettings.CaptureSettings.CaptureAutoHideTaskbar; img = capture(); if (img != null && taskSettings.GeneralSettings.PlaySoundAfterCapture) { Helpers.PlaySoundAsync(Resources.CameraSound); } } catch (Exception ex) { DebugHelper.WriteException(ex); } finally { if (autoHideForm) { this.ShowActivate(); } AfterCapture(img, captureType, taskSettings); } }
public void DoCapture(ScreenCaptureDelegate capture, CaptureType captureType, TaskSettings taskSettings = null, bool autoHideForm = true) { if (taskSettings == null) { taskSettings = TaskSettings.GetDefaultTaskSettings(); } if (taskSettings.CaptureSettings.IsDelayScreenshot && taskSettings.CaptureSettings.DelayScreenshot > 0) { TaskEx.Run(() => { int sleep = (int)(taskSettings.CaptureSettings.DelayScreenshot * 1000); Thread.Sleep(sleep); }, () => { DoCaptureWork(capture, captureType, taskSettings, autoHideForm); }); } else { DoCaptureWork(capture, captureType, taskSettings, autoHideForm); } }
private void DoCaptureWork(ScreenCaptureDelegate capture, CaptureType captureType, TaskSettings taskSettings, bool autoHideForm = true) { if (autoHideForm) { Hide(); Thread.Sleep(250); } Image img = null; try { Screenshot.CaptureCursor = taskSettings.CaptureSettings.ShowCursor; Screenshot.CaptureShadow = taskSettings.CaptureSettings.CaptureShadow; Screenshot.ShadowOffset = taskSettings.CaptureSettings.CaptureShadowOffset; Screenshot.CaptureClientArea = taskSettings.CaptureSettings.CaptureClientArea; Screenshot.AutoHideTaskbar = taskSettings.CaptureSettings.CaptureAutoHideTaskbar; img = capture(); } catch (Exception ex) { DebugHelper.WriteException(ex); } finally { if (autoHideForm) { this.ShowActivate(); } AfterCapture(img, captureType, taskSettings); } }
private void DoCapture(ScreenCaptureDelegate capture, CaptureType captureType, TaskSettings taskSettings = null, bool autoHideForm = true) { if (taskSettings == null) taskSettings = TaskSettings.GetDefaultTaskSettings(); if (taskSettings.CaptureSettings.IsDelayScreenshot && taskSettings.CaptureSettings.DelayScreenshot > 0) { int sleep = (int)(taskSettings.CaptureSettings.DelayScreenshot * 1000); BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (sender, e) => Thread.Sleep(sleep); bw.RunWorkerCompleted += (sender, e) => DoCaptureWork(capture, captureType, taskSettings, autoHideForm); bw.RunWorkerAsync(); } else { DoCaptureWork(capture, captureType, taskSettings, autoHideForm); } }
private static void DoCaptureWork(ScreenCaptureDelegate capture, CaptureType captureType, TaskSettings taskSettings, bool autoHideForm = true) { if (autoHideForm) { Program.MainForm.Hide(); Thread.Sleep(250); } Image img = null; try { img = capture(); } catch (Exception ex) { DebugHelper.WriteException(ex); } finally { if (autoHideForm) { Program.MainForm.ForceActivate(); } AfterCapture(img, captureType, taskSettings); } }
private void DoCaptureWork(ScreenCaptureDelegate capture) { Image img = capture(); AfterCapture(img); }